这样,如果一个操作需要同时调用几个 Service,就会面临冲突,假设 A 和 B 是因为不同的 WCF Service 生成的同一个类型的不同代理。那么只有通过代码把 A 的数据复制到 B. 这样显然很麻烦。
WCF 客户端类型共享可以通过创建一个专门的类库项目来实现,在该类库中用“添加服务引用”来生成客户端代理。
并且,让这个类库引用你需要共享的类型所在的 Assembly.
但因为 Silverlight 程序只能引用 Silverlight 的类库,它和 WCF 服务中调用到的类型处在不同的 .NET Framework.
这样就导致了“在代理的类库项目添加要共享的类型所在的 Assembly”这个步骤没法实现。因而无法共享客户端代理类型。
期待这个问题可以在 2.0 正式发布时得到解决吧。