私のアプリケーションと私の WCF サービスとのすべての対話を処理するクラスがありますが、MSDN は、WCF での Using)_ ステートメントの使用は悪いと言っているようです。 /msdn.microsoft.com/en-us/library/aa355056.aspx)
私の問題は、彼らが提案する実装方法は、同じ構造コードを持つ [私のサービスの 10 個のパブリック メソッドとして] 10 個のメソッドがあることを意味し、これはもちろん DRY プリンシパルに従わないことです。コードは次のようになります。 :
try
{
results = _client.MethodCall(input parameteres);
_client.Close();
}
catch (CommunicationException)
{
if (_client != null && _client.State != CommunicationState.Closed)
{
_client.Abort();
}
}
catch (TimeoutException)
{
if (_client != null && _client.State != CommunicationState.Closed)
{
_client.Abort();
}
}
catch (Exception ex)
{
if (_client != null && _client.State != CommunicationState.Closed)
{
_client.Abort();
}
throw;
}
これにはまだロギングがありませんが、もちろん、ロギングを開始するときは、ほぼ 10 の異なる場所でロギング作業を追加する必要があります。
ここでコードを再利用する際に、もう少し機知に富む方法についてのヒントはありますか
ありがとう
ポール