IIS NullReferenceException (已部署但不在开发服务器中)

本文关键字:开发 服务器 NullReferenceException 部署 IIS | 更新日期: 2023-09-27 18:32:55

我开发了一个 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

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

我被困在有关如何跟踪此问题的想法中。有什么想法吗???

IIS NullReferenceException (已部署但不在开发服务器中)

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

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

当已发布的应用程序 ["X-UA 兼容"] 为空时。

值得一提的是,在 Response.AddHeader(( 中使用 null 会导致此类问题,而不是更优雅地处理 null。