0

ASP .NET にあると思われる Web サイトがありますが、例外がスローされています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 サーバーのパスワードの変更のみでしたが、その変更が行われた後もサイトは引き続き正常に読み込まれていました。

ユーザーが Web サイト内で前述の SMTP メール機能を使用しようとしてエラーを受信した後、getConnection() メソッドでこれらのエラーが発生し始めたように感じます (ユーザーが受信したエラーをキャプチャできませんでした)。

getConnection() メソッドはコンパイルされた DLL 内にあり、アクセスできないように見えるため、ここからさらにデバッグすると少し迷っています。

エラーを取り除くための次のステップは何ですか?

4

1 に答える 1

1

まず、SMTP パスワードの変更が原因で問題が発生した可能性は低いと思われます。しかし、そのパスワードの変更がWeb.configファイルで行われた場合、本来よりも慎重に行われなかった可能性があり、実際にはデータベース接続関連のセクションが誤って変更され、有効ではなくなりました。

DLL にデバッグできるようにしたい場合は、Visual Studio で "Just My Code" をデバッグするオプションを無効にすることができます (ツール/オプション/デバッグなど) - これらの DLL にステップダウンして表示できるはずです。問題がどこにあるか。コードを変更する必要がなく、構成ファイルを修正するだけで済むことを願っています。

于 2013-05-18T09:39:57.367 に答える