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 回答