я нашел 2 способа потребляя службы WCF без помощи от svcutil.exe
:Как использовать службы 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();
Какой я должен выбрать?