2016-10-25 1 views
0

でASP.NETコア設定()メソッドを失敗からの例外の詳細を取得する私は、Windows AzureのウェブサイトでASP.NETのコアアプリケーションをホスティングしています。 Startup.Configure()メソッドで例外の詳細を取得する方法を知りたいですか?私が見るのはAn error occurred while starting the application.です。作業を行うは、Azureの

ことの一つは、ASPNETCORE_ENVIRONMENT="Development"のアプリの設定を追加しています。 その後、私はSystem.Exception... at X.Startup.Configure()を期待どおりに取得します。

しかし、これは実行可能な解決策ではありません。 Azureは私のステージング環境です。私はすでに環境コンセプトを使用して接続文字列を置き換えています(これまでに読んだほとんどすべてのASP.NET Coreドキュメントで提案されています)。私は何の効果なしで試してみました

もの:

  • app.UseDeveloperExceptionPage()を追加する(任意のif声明で囲まれていません)。

  • ここhttps://stackoverflow.com/a/29539669/268091

  • 示唆されているように、ここでhttps://stackoverflow.com/a/32094245/268091 Azureのポータル/ Diagnostics logs

  • 追加
  • Detailed error messagesを有効にする

  • 示唆したように、Web.configファイルにASPNET_DETAILED_ERRORS="true"を追加、Web.configファイルに<customErrors mode="Off"/>を追加しますtry-catch、ここに示唆したように手動応答を書くhttps://stackoverflow.com/a/29524042/268091

  • すべてを削除して再デプロイします。

環境コンセプトを完全に乗っ取るよりも、これを達成する方法は他にありませんか?

+0

は、あなたはこれを見たことがあります:http://stackoverflow.com/questions/29518365/how-to-get-error-details-of-an-asp-net-5-app-deployed-on-azure -websites?rq = 1? – mayu

+0

は多分試みる 'キャッチ...自己試しを使用してそれを実装する方法があり{...}キャッチ(例外の例) { varファイル= env.ContentRootPath + @ "\ wwwrootの\ startuperr.htm"。 ":" + ex.Message(のStreamWriter SWが=新規のStreamWriter(FS))を使用して(のFileStream FS =新しいFileStreamを(ファイル、をFileMode.APPEND、FileAccess.Write)) {sw.WriteLine(DateTime.UtcNow +を用い + ex.StackTrace); }} 他のすべてが失敗した場合に回避策かもしれない ' –

+0

@TomSunのおかげで、。 – MEMark

答えて

1

これはあなたのために働くかどうかは分かりませんが、我々はこれらの使用して、アプリケーションの洞察を報告することに決めました。

public void Configuration(IAppBuilder app) 
{ 
    var ai = new Microsoft.ApplicationInsights.TelemetryClient(); 
    ai.TrackEvent("Application Starts"); 

    try 
    { 
    //Amazing code here 
    } 
    catch (Exception ex) 
    { 
     ex = new Exception("Application start up failed.", ex); 

     ai.TrackException(ex); 
     throw; 
    } 
} 
関連する問題