2016-04-05 87 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沖洗(後嘗試過),但既不似乎避免網絡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

相關問題