最小化WCF客户端占用空间

时间:2012-02-16 16:01:47

标签: wcf web-config

有人可以对此有所了解吗?

如何在web.config中消除更新Web引用和最小化WCF客户端占用空间的需要,以提高代码可维护性。

提前致谢

BB

2 个答案:

答案 0 :(得分:2)

不完全确定最小化WCF客户端占用空间的意思 - 但VS工具和svcutil.exe通常做太多事情 - 所以手动做事,知道

为此,WCF有一堆视频资源可以处理这个确切的主题:

答案 1 :(得分: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>

这就是你能得到的最小化。