3

長い間実行されている 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ブロックを無視して、とにかく死んでいるようです. 何が起こっているのでしょうか?

4

3 に答える 3

1

次の行はよろしいですか:

emailService.SendMessage(e.Message + "\n\n" + e.StackTrace);

サーバーで例外をスローしていませんか? try catch ブロックに到達している可能性がありますが、この行で別の例外がスローされます。

于 2013-07-24T16:09:52.850 に答える