4

私は C# n 層アプリケーションを持っています。通常はフォーム認証を使用し、すべて正常に動作しますが、Windows で認証を設定しようとすると、いくつかの機会に次の例外がスローされ始めました (主に管理で、たとえば、ユーザーを編集しようとすると、クライアントはサーバーを呼び出してユーザーの詳細を呼び出します)。 Internet Explorer ではまったく発生していません。Firefox と Chrome では、毎回スローされます。

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)

何がうまくいかないのか、それを修正する方法についてアドバイスをお願いします。ありがとう

4

1 に答える 1

0

コードを見て、出力ストリームのどこに何かが書き込まれていることを確認する必要があります。何が起こっているかというと、ステータス コードを設定する前に何かが書き出されているということですが、ASP.NET はそれを許可しません。

FF と Chrome で発生する理由について、それがどのブラウザであるかを識別し、異なるものを異なるブラウザに送信しようとするコードはありますか?

于 2012-10-08T16:15:58.693 に答える