0

我有一个网站,我相信它在 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 服务器的密码,但在进行更改后站点继续正常加载。

我的感觉是,getConnection() 方法的这些错误是在用户尝试在网站内使用所述 SMTP 邮件功能并收到错误后开始发生的(我无法捕获用户收到的错误)。

由于 getConnection() 方法似乎在已编译的 DLL 中并且我无法访问,因此从这里进一步调试我有点迷失了。

尝试消除错误的下一步是什么?

4

1 回答 1

1

首先,根据您的描述,SMTP 密码更改不太可能导致问题。但是,如果在文件中进行了密码更改Web.config,我会说它可能没有像应有的那样仔细,实际上其中与数据库连接相关的部分已被无意修改并且不再有效。

如果您希望能够调试到 DLL,您可以禁用在 Visual Studio 中调试“仅我的代码”的选项(类似于工具/选项/调试) - 然后您应该能够进入这些 DLL 并查看问题出在哪里。希望它不需要任何代码更改,您只需修复配置文件即可。

于 2013-05-18T09:39:57.367 回答