发送HTTP标头后,Windows Auth Server无法设置状态

时间:2012-10-08 13:51:51

标签: c# windows authentication http-headers httpexception

我有C#n层应用程序。 Normaly我们使用Forms身份验证,一切正常,但是当我们尝试在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)

拜托,您能否给我一些可能出错的建议以及如何解决? 感谢

1 个答案:

答案 0 :(得分:0)

那么,您必须查看代码并查看将内容写入输出流的位置。正在发生的事情是在设置状态代码之前写出一些内容,ASP.NET不允许这样做。

至于为什么它会在FF和Chrome上发生,您是否有任何代码试图识别它是哪个浏览器并向不同的浏览器发送不同的内容?