2016-04-05 10 views
1

サードパーティのライブラリを呼び出すWeb APIメソッドがあります。そのライブラリの奥深くにはResponse.Flushがあります。結果は次のようになります。ASP.NET Web APIメソッドのレスポンスを終了する方法

HTTPヘッダーが送信された後、サーバーはステータスを設定できません。

public HttpResponseMessage Get() 
    { 
     HttpContext.Current.Response.Flush(); 

     return Request.CreateResponse(HttpStatusCode.OK, "ok"); 
    } 

が、私はフラッシュ(後Response.EndのとCompleteRequestを使用してみました)が、いずれにヘッダを追加し続けからのWeb APIを防ぐように見える:

は、この動作は、単に十分に再現することができます応答。レスポンスを短絡する別のWeb API固有のメカニズムがありますか?

答えて

0

私はResponse.Endを提案しようとしていましたが、すでに試したようです。

Response.Headers.Removeを使用してみましたか?私は役に立つCodeProjectに関する記事を見つけました。 http://www.codeproject.com/Tips/785867/ASP-NET-MVC-Remove-IIS-Header-Bloat

それは言う:

「に加えて、我々はグローバルファイルにいる間、我々はまた 排除することができ、 『サーバー』は、このようなPreSendRequestHeadersイベント にハンドラを追加することにより、ヘッダーを:」

app.Context.Response.Headers.Remove("Server"); 

役に立てば幸い!

+0

ヘッダーを削除したいわけではありません。Web APIが応答をまったく変更しようとしないように処理を停止します。 – JNappi

関連する問題