2016-03-24 7 views
1

ステートレスサービスファブリックサービスがあります。私のサービスには、OWIN Web APIサービスエンドポイントもあります。私は、サービスのスタートアップのいずれかの例外またはエラーが出た場合、私はすべてのタイプまたはエラーと例外のために同じエラーメッセージが表示されます。 サービスファブリックアプリケーションのフェイル理由の診断

Error event: SourceId='System.FM', Property='State'. 
    Partition is below target replica or instance count. 

だから、それは本当の問題を毎回取得することは本当に難しいです。 私はこの1つ試してみました:

AppDomain.CurrentDomain.UnhandledException += (sender, args) => 
    { 

    }; 

をしかし、それは助けにはなりませんでした。 try/catchですべてのコードをラップしようとしましたが、例外はありませんでした。

誰もSFからの実際の理由/例外メッセージ/エラーメッセージを取得する方法を知っていますか?

答えて

2

コードから診断情報(エラー、アプリケーションイベントなど)を出し、それをキャプチャ/クエリするか、サービスファブリックの外でアプリケーションを実行し、ローカルでスタートアップの問題をデバッグします。アプリは、コア・サービスファブリックランタイムによって放出されたイベントと一緒のWindows(ETW)のイベントイベントトレーシングを発することができるように診断を設定したいと思うSFの生産展開で

https://azure.microsoft.com/en-us/documentation/articles/service-fabric-diagnostic-how-to-use-elasticsearch/

これは相当量の作業ですが、アプリケーションがプロダクションで何をしているかを把握したい場合には必要です。 SFで実行しているかどうかにかかわらず、(何らかの形で)実行する必要があるものです。

あなたのコードでスタートアップの問題をデバッグしたいのですが、OWIN Web APIに基づくステートレスなサービスがあるので、最初にService Fabricの外でデバッグしようとします。あなたがそのように問題を分離することができれば。もちろん、これは、あなたがローカルで実行できる場合、そして、問題がSF統合/起動自体に固有でない場合にのみ役立ちます。しかし、それを判断する唯一の方法はおそらく、SFランタイムの外部でローカルに実行しようとすることです。

希望は...幸運を祈る!

0

サービスファブリックエクスプローラと同じ一般的なエラーで同じ問題が発生しました。私はローカルで実行していたので、Visual Studioで診断イベントウィンドウを開くことができました。これにより、より詳細なエラーメッセージが表示されました。ローカルで実行していない場合でも、デバッグできます。

次のリンクを参照してください。https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-debugging-your-application

関連する問題