但是,通过SlSvcUtil.exe生成Silverlight代理不会重用数据合约类型。无论我是使用/r开关从命令行调用SlSvcUtil.exe,还是使用Visual Studio中的"Add Service Reference“对话框,都是如此。如果服务停止使用此类型,SlSvcUtil.exe将按预期生成代理(使用数据协定程序集中重用的类型)。
现在我已经将问题缩小到这种类型,我不确定下一步要寻找什么。
我得到了一个同步的WCF服务,我想模拟添加服务引用( Add service Reference,slsvcutil.exe),但没有托管WCF服务。这个是可能的吗?我想使用slsvcutil从wsdl文件生成客户端,但它不想工作,因为它需要一个端点。有没有可能在不托管服务的情况下为Silverlight生成WCF代理,也不需要通过异步调用来编辑WCF服务?
但是我在.net中有很多类,我使用ChannelFactory动态调用wcf服务: new ChannelFactory(myBinding,myEndpoint);现在在单点触控中我应该使用slsvcutil来生成wcf代理类,但是slsvcutil生成了许多不必要的额外代码(巨大的),并且由于通过ClientBase类与WCF基础结构的高度耦合,使得使用者很难进行单元测试。