asp.net httprequestはnullになりますか? CurrentExecutionFilepathはどうですか?
-
22-08-2019 - |
質問
生産サーバーで奇妙なバグがあります。スタックトレースはありますが、ライン番号はありません。そのため、バグがある方法はわかりませんが、正確な線ではありません。 「オブジェクトのインスタンスに設定されていないオブジェクト参照」が不満を言っています。何かがヌルです。
コードを見た後、私が見ることができる2つの潜在的な犯人は、読む2つの連続した行です。
string currentPath = this.Request.CurrentExecutionFilePath;
string[] parts = currentPath.Split('/');
リクエストがnullである場合、またはリクエストのcurrentexecutionfilepathがnullである場合に投げます。これがいつ発生するか(または場合でさえ)私はあまり明確ではありません。ここで間違った木をbarえていますか? (このコードは、ページライフサイクルの負荷部分中に実行されているようです)。
解決
リリースビルドにPDB出力を有効にしていますか?
行う場合は、スタックトレースでライン番号を取得するためにPDBを生産サーバーに展開するだけです。
(PDBとDLLは一致する必要があります)
他のヒント
最初のスレッドからスレッドを起動すると、リクエストおよび/またはhttpContextがnullになります。 (非同期処理など)
奇妙なことに、私は、原因を見つけることができずに、生産サーバーでnull httprequestエラー(多くの)回数を見ました。
私はそれがあなたにはまったく役に立たないことを知っていますが、ただ連帯から書いているだけです:)
私が半分覚えている潜在的なことは、iisを /default.aspxにマッピングしないことで行うことでしたが、これはずっと前でしたので、これらの潜在的な役に立たないとりとめのないことにあまり注意を払わないでください!!!
所属していません StackOverflow