我有一个我相信在ASP .NET中的网站,它正在抛出异常System.NullReferenceException: Object reference not set to an instance of an object.
。堆栈跟踪显示如下:
[NullReferenceException: Object reference not set to an instance of an object.]
SomeScript.getConnection() +32
SomeScript.buildGridData() +299
SomeScript.Page_Load(Object sender, EventArgs e) +92
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Control.LoadRecursive() +163
System.Web.UI.Control.LoadRecursive() +163
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2603
对于请求数据的网站的基本上所有页面都发生相同的错误,只有上面的堆栈跟踪中的SomeScript
交替加载脚本。
环境变化仅限于更改网站用于邮寄的远程SMTP服务器的密码,但网站在更改后继续正常加载。
我的感觉是,在用户尝试在网站内使用所述SMTP邮件功能并收到错误(我无法捕获收到的错误用户)后,getConnection()方法的这些错误开始发生。
由于getConnection()方法似乎在编译的DLL中并且我无法访问,因此我从这里进一步调试有点迷失。
尝试删除错误的下一步是什么?
答案 0 :(得分:1)
首先,SMTP密码更改不太可能导致您对其描述的问题。但是如果在Web.config
文件中进行了密码更改,我会说它可能不那么仔细,实际上与数据库连接相关的部分已被无意修改,并且不再有效。
如果您希望能够调试DLL,可以禁用在Visual Studio中调试“Just My Code”的选项(类似于工具/选项/调试) - 然后您应该可以进入这些DLL并查看问题所在。希望它不需要任何代码更改,您只需修复配置文件。