我发现了两种在没有以下帮助的情况下使用 WCF 服务的方法svcutil.exe
:
ClientBase<IService>
ChannelFactory<IService>
我知道ClientBase
可能使用ChannelFactory
. 但我说的是在写作之间进行选择:
public sealed class ServiceClient
: ClientBase<IService>, IService
{
ReturnType IService.MethodName(ParameterType parameterName)
{
return Channel.MethodName(parameterName);
}
}
// later
IService client = new ServiceClient();
var result = client.MethodName(parameterName);
或者
ChannelFactory<IMyService> channelFactory = new ChannelFactory<IMyService>();
channelFactory.Open();
var channel = channelFactory.CreateChannel();
var result = channel .MethodName(parameterName);
channelFactory.Close();
我应该选择哪一个?