如何获得可重用的svcutil生成的代理

时间:2014-08-19 16:52:12

标签: c# wcf service proxy svcutil.exe

使用svcutil.exe生成服务(具有wsdl)的代理很容易。

使用命令

call "%VS100COMNTOOLS%"\vsvars32.bat
svcutil.exe http://localhost:8754/MyService.svc?wsdl /out:MyProxy.cs /config:MyProxy.config

生成两个文件,即

MyProxy.cs
MyProxy.config

所以,我有这些精彩的文件,可供所有想要拨打MyService的应用程序使用。

但似乎没有适当的方法重复使用它们。

始终将配置复制到客户端应用程序App.config

所以,我可以拥有一个库,但其中只有MyProxy.cs。 客户端应用程序仍然必须自己引用System.ServiceModelSystem.Runtime.Serialisation程序集。

这有点麻烦。

有没有办法“注入”MyProxy.config甚至更好地拥有一个可以在客户端应用程序中引用和使用的库?

1 个答案:

答案 0 :(得分:0)

你正朝着正确的方向前进。只有MyProxy.cs的库是Client API,因此您可以将项目命名为MyServiceClientApi,可以在其他项目和解决方案中重用该程序集。生成的app.config仅包含一些简单的http绑定设置,您可以认为基本设置是制作真实世界设置的起点,可能需要在应用程序开发,发布,部署和日常操作期间进行更改。因此,将生成的配置设置自动注入到其他应用程序的app.config中的价值很小。

关于你的上一个问题,请google"合并app.config"你会发现很多资源。但是,在这种情况下,自动合并/注入可能不会长期提高您的开发效率。

WCF for the Real World, Not Hello World可能会给你更多提示。