我想手動編寫我的響應流並關閉它,以便我可以在響應關閉後繼續做一些東西。我成功達致這通過執行以下操作:手動寫流沒有CHUNKED響應
Response.StatusCode = 200
Response.ContentType = "application/json; charset=utf-8"
Response.Write(j)
Response.Flush()
Response.Close()
DOWORK()
這在大多數情況下完美的,但Chrome瀏覽器/ Flash中,存在閃存中的錯誤是它是造成這種假定它是一個IO錯誤。當分析報頭,之間手動發送響應與返回JSON(結果)和差I如何做它上面是,當我返回數據通常它使用的報頭:
Content-Length: 44
凡爲當我發送它與上面的代碼我得到:
Transfer-Encoding: chunked
是否有可能做我想要的但沒有數據塊?我知道這不是ASP.net特定的,而是閃存中的一個bug,但我想解決這個問題。
; 「 MVC幫手,而不是手動響應?你可以實現你自己的繼承自JsonResult的ActionResult以在Execute方法被調用後添加一些工作 – PanJanek
如果我做了「返回JSON(obj)」,那麼方法在那裏停止執行。我明白你的迴應說我可以從ActionResult繼承事件後繼續,但不知道我該怎麼做?我唯一能想到的方式是在返回結果之前啓動一個後臺工作者。 –