長い間実行されている WCF サービスがあります。最近いくつかの変更を加えましたが、ローカルでは正常に動作しますが、このメッセージ サーバー側でクラッシュします (変更したメソッドのみ、他のすべてのメソッドは正常に動作します)
サービスの呼び出しに失敗しました。考えられる原因: サービスがオフラインであるか、アクセスできません。クライアント側の構成がプロキシと一致しません。既存のプロキシは無効です。詳細については、スタック トレースを参照してください。新しいプロキシを開始するか、デフォルト構成に復元するか、サービスを更新することで、回復を試みることができます。
問題は、サーバーでのみ失敗しているため、問題をデバッグする方法がないことです。さらにイライラするのは、コードがどこで失敗しているかを正確に知っているのですが、例外データを取得できないため、理由がわからないだけです。これは、WCF サービスでヒットしているメソッドです。
public bool GenerateSpec(string product)
{
specService.GenerateSpec(product);
return true;
}
次に、これを呼び出します。
public bool GenerateSpec(string productNumber)
{
try
{
SessionFactory factory = new SessionFactory();
Session = factory.CreateSession(DataConnection.PM);
productService = new ProductService(Session);
// other code
return true;
}
catch (Exception e)
{
emailService.SendMessage(e.Message + "\n\n" + e.StackTrace);
return false;
}
}
行で失敗することはわかっていますが、そのSession = factory.CreateSession(DataConnection.PM);
理由はわかりません.try catchブロックを無視して、とにかく死んでいるようです. 何が起こっているのでしょうか?