重用服务代理

时间:2010-03-15 14:24:21

标签: silverlight silverlight-3.0 proxy service

我有一组使用Silverlight Client连接的web服务。我使用“添加服务引用”或SLSVCUTIL.exe工具生成的代理连接到此服务。到目前为止,我只使用过一项服务。现在我想在同一台服务器上使用另一项服务。

问题在于,第一个服务为我生成了一组代理类,第二个服务将重用同一组类(加上额外的服务/类),例如。

CustomerService.SaveCustomer(客户客户);

OrderService.CheckCustomerLevel(客户客户);

问题是当我添加对第二个服务的引用时,我不能为第二个服务重用相同的命名空间(VS错误),当我使用不同的命名空间时,生成的类虽然基本相同,但驻留在不同的命名空间中,因此不同,我最终在两个不同的命名空间中有两个Customer类。

无论如何?我只需要有两套服务,重用Customer类。我在生成代理类时已经尝试过“在程序集/所有程序集中重用类型”复选标记,但它似乎没有效果。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

之前我遇到过这个问题,我能想到的唯一解决方案是将两个Web服务合并到一个Web服务中。这似乎是Add Service References / SLSvcUtil做事方式的限制。

如果你正在使用Silverlight 4,你可以想象Silverlight/.NET assembly sharing来解决这个问题(尽管我自己没有尝试过)。换句话说,在Silverlight中编译包含数据传输对象的程序集,然后与.NET / WCF后端共享它。这样,如果选择“在程序集中重用类型”,它(理论上)实际上会重用两个服务引用的现有Silverlight类型。