vs2008、vb.net、C#、fw3.5を使用
クライアントでサービスを利用しています
サービスはIISでホストされています
Client(winforms MDI)は、/ l、/ r、/ ct、および/nスイッチを使用してsvcutilを使用して生成されます
サービスとクライアントの両方がMyEntities.dllを使用します
TransportWithMessageCredentialでnettcpを使用していますプロキシをメインフォームにキャッシュします
if Membership.ValidateUser(UsernameTextBox.Text, PasswordTextBox.Text)
_proxy = new MyServiceClient
_proxy.ClientCredentials.UserName.UserName = "username"
_proxy.ClientCredentials.UserName.Password = "password"
次に、_proxyを使用する必要のある子フォーム/プラグインに_proxyを渡します。
List(of Orders) = _proxy.ChannelFactory.CreateChannel.GetOrders(customer)
すべてがうまく機能していますが、私の質問はこれです:
通話後、チャンネルはどうなりますか?彼らは魔法のように処分されていますか?
プロファイラーを使用してこれを監視するにはどうすればよいですか?
1つの場所でエラー処理を行う方法はありますか、または「ブロックの問題を使用する」WCFクライアントの最善の回避策は何ですか?のようにすべての呼び出しでtry / catchを配置する必要がありますか?
try
{
...
client.Close();
}
catch (CommunicationException e)
{
...
client.Abort();
}
catch (TimeoutException e)
{
...
client.Abort();
}
catch (Exception e)
{
...
client.Abort();
throw;
}
_proxy.InnerChannel.Faultedをサブスクライブして、そこでクリーンアップできますか?
よろしく
_エリック