2012-02-16 2 views

ответ

2

Не совсем уверен, что вы имеете в виду минимизировать WCF клиента след - но инструменты VS и svcutil.exe обычно делают слишком много вещей - так делать вещи вручную, зная то, что вы делаете, может определенно свести к минимуму количество кода и конфигурации, которые вам нужны.

Для этого, там есть куча видео ресурсов для WCF, что иметь дело с этой точной теме:

1

Лучше всего покончить с отзывами об обслуживании вообще. Однако вы можете сделать это только в том случае, если у вас есть доступ к сборкам, которые содержат фактический интерфейс службы, контракты на работу и контракты с данными. После этого вы можете создать прокси-службу на лету с помощью ChannelFactory:

// Create service proxy 
var factory = new ChannelFactory<IMyServiceContract>("NameOfEndPointInConfigFile"); 
var proxy = factory.CreateChannel(); 

// Call the operation 
var myRequestDataContractType = new myRequestDataContractType(); 
var myResponseDataContractType = proxy.MyServiceOperation(myRequestDataContractType); 

В файле конфигурации все, что вам нужно, это определение конечной точки:

<system.serviceModel> 
    <client> 
    <endpoint address="net.tcp://localhost:8000/MyService" 
       binding="netTcpBinding" 
       contract="ServiceNamespace.IMyServiceContract" 
       name="NameOfEndPointInConfigFile"> 
    </endpoint> 
    </client> 
</system.serviceModel> 

Вот примерно как минимальные, как вы можете получить.