2012-10-08 74 views
4

我有C#n層應用程序。通常情況下,我們使用Forms身份驗證,一切正常,但當我們嘗試在Windows上設置身份驗證時,它開始在一些場合中引發以下異常(主要在管理中,例如,當您嘗試編輯用戶和客戶端調用服務器以獲取用戶詳細信息時)根本不在Internet Explorer中發生。在Firefox和Chrome中,它每次都會拋出它。發送HTTP頭後,Windows驗證服務器無法設置狀態

System.Web.HttpException (0x80004005): 
Server cannot set status after HTTP headers have been sent. 
at System.Web.HttpResponse.set_StatusCode(Int32 value) 
at System.Web.HttpResponseWrapper.set_StatusCode(Int32 value) 
at System.Web.Mvc.HttpStatusCodeResult.ExecuteResult(ControllerContext context) 
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) 
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) 

請問,你能給我一些建議什麼可能出錯,以及如何解決它? 謝謝

回答

0

那麼,你必須看看你的代碼,看看事情正在寫入輸出流的地方。在設置狀態代碼之前,發生的事情是寫出一些東西,而ASP.NET不允許這樣做。

至於爲什麼會發生在FF和Chrome上,您是否有任何代碼試圖識別它是哪個瀏覽器並將不同的東西發送到不同的瀏覽器?

+0

是的,沒有看到任何可能導致這個錯誤的東西,這是我第一次做的。我在想,如果有什麼問題,即使身份驗證設置爲Forms,它也不應該是錯的嗎?不,我只在javascript UI中對不同的瀏覽器做不同的事情。 – user1728989

相關問題