部署时但不在Dev Server中的IIS NullReferenceException

时间:2013-09-25 13:24:39

标签: c# asp.net iis nullreferenceexception

我使用带有实体框架的ASPX页面后面的C#代码开发了一个IIS应用程序,用于数据库访问。当我在Visual Studio开发服务器中运行它时,它工作正常,但如果我将其发布到IIS或从Visual Studio在本地IIS Web服务器上运行它(这与我猜的几乎相同)我得到

NullReferenceException: Object reference not set to an instance of an object.]
   System.Web.Hosting.RecyclableCharBuffer.Append(String s) +15
   System.Web.Hosting.ISAPIWorkerRequest.SendUnknownResponseHeader(String name, String value) +93
   System.Web.HttpResponse.WriteHeaders() +233
   System.Web.HttpResponse.Flush(Boolean finalFlush) +219
   System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr, HttpContext context, Exception e) +127

在我的Home.aspx完成页面加载后抛出此异常。一些简单的ASPX页面可以正常工作。设置NullReferenceException断点只是进入反汇编。

我对如何追踪此问题的想法感到困惑。任何想法???

1 个答案:

答案 0 :(得分:1)

最后跟踪了这一点。母版页中的一些模板代码正在执行

Response.AddHeader("X-UA-Compatible", (String)Application["X-UA-Compatible"]);

当已发布的应用程序[“X-UA-Compatible”]为空时。

值得知道在Response.AddHeader()中使用空值会导致这种问题,而不是更优雅地处理空值。