2

我已经开发了一个 IIS 应用程序,它使用 ASPX 页面后面的 C# 代码以及用于数据库访问的实体框架。当我在 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 断点只是进入反汇编。

我被困在如何追踪这个问题的想法上。有什么想法吗???

4

1 回答 1

2

终于找到了这个。母版页中的一些模板代码正在做

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

当 Published Application["X-UA-Compatible"] 为空时。

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

于 2013-09-26T12:32:53.577 回答