0

サービスにアクセスして2つの呼び出しを実行するメソッドがあります。(簡略化された)クライアントコードは次のとおりです。

try
{
    using (var client = new IntegrationServiceClient())
    {
        int taskID = client.CreateTask(param, taskType, taskDate);
        if (taskID < 0)
        {
            //There was some error
            return -1;
        }

        if (!client.ExecuteTask(taskID, taskType))
        {
            //There was some error
        }
    }
}
catch (Exception ex)
{
    LogManager.Log("Error while creating and executing task", ex);
}

CommunicationObjectFaultedException2回目の呼び出しでのみ例外が発生します。これはどのように可能ですか?なんらかの障害が発生した場合FaultException、最初の呼び出しの後に(またはその他の例外)を取得するべきではありませんか?プロキシが障害状態になる原因となる可能性のある例外以外の何かがありますか?

4

1 に答える 1

0

web.config不良ファイルがあったようです。スタックトレースは、2番目の呼び出しでエラーが発生したことを示していました。これは、usingステートメント内の最後の意味のある行であり、その後プロキシが破棄されたためです。CommunicationObjectFaultedExceptionプロキシを破棄する場合にのみ発生します。

2番目のメソッドを呼び出したときに例外がスローされたようにスタックトレースが発生したのは、コードの記述方法と同じです。

于 2013-01-29T22:35:18.823 に答える