Page_Load不仅仅部署在服务器上,即使在Page_Load上没有“无指令”

时间:2015-11-22 22:46:23

标签: c# asp.net nullreferenceexception

请先阅读 请避免将我的问题标记为“什么是NullReferenceException以及如何修复它”的可能副本;我之前在一些较老的问题上已经阅读了所有这些内容。 NullReferenceException不是这里的主要话题,我知道它们来自哪里。主要的主题是为什么我只在服务器而不是本地获取此异常。澄清了这一点后,请阅读以下内容:)

我有一个弹出按钮单击的表单。对它有一些共同的控制;因此,当我通过我的本地环境(visual studio的asp服务器)运行它时,它显示正常,甚至在Page_Load上我有很多指令,用DB中的数据加载表单的字段(它是一个编辑表单)。

但是,当我通过IIS(从Web浏览器)在远程服务器上运行它时,而不是显示表单,我得到NullReferenceException

所以我开始评论来自我的Page_Load的指令,所以我可以放弃可能性,直到我到达整个Page_Load方法的评论,严重的100%,没有指令应该在这里执行,但我仍然得到NullReferenceException错误,堆栈跟踪如下所示:

  

堆栈追踪:

     

[NullReferenceException:对象引用未设置为的实例   对象。] SisProEmp.editar_necesidad.Page_Load(对象发送者,   EventArgs e)+1645 System.Web.UI.Control.LoadRecursive()+70
  System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)   3177

“editar_necesidad”是表单的名称(html页面)。

请注意,此仅在通过网络浏览器进行测试时发生,而不是在本地环境中进行。起初我以为它可能是服务器的DateTime格式,但是我已经放弃了,因为正如我所提到的,Page_Load现在什么都不执行,我甚至都看不到渲染的空控件。 / p>

1 个答案:

答案 0 :(得分:0)

  1. 使用Telerik JustDecompile从Web应用程序文件夹中在Web服务器上打开您的dll。您可能会惊讶地发现您认为存在的代码与实际存在的代码不同。调试中有一个原则叫做“停止思考和看”。

  2. 删除网络服务器C:\WINDOWS\Microsoft.NET\Framework\<version>\Temporary ASP.NET Files的缓存。也要寻找64位。