2011-09-02 103 views
1

我打算为我的WCF客户端创建包装调用WCF服务的包装。WCF:与客户端的代理包装共享服务合同

包装器将实例化代理(使用服务引用生成的类),处理服务返回的错误并将它们转发给调用者。包装器也可以从Business Objects创建DTO,反之亦然。

例如,登录视图视图模型会在单击按钮时调用登录包装的“登录”方法。 View-Model会将用户名和密码传递给包装器,这将创建一个新的数据传输对象(DTO)。然后Wrapper将调用我的服务上的“登录”服务合同,传入DTO,并将操作结果返回给调用者(即:登录成功/失败)。

因为我使用IoC容器(Unity)在我的视图模型中注入包装,我需要为包装创建一个接口。

我想到我创建的接口也可能强加Wrappers实现的方法。

在这方面,定义Wrappers的项目是否应该引用定义服务契约的Web服务组件?

包装然后将实施适当的服务合同。例如,UserManagementProxyWrapper类将实现在Web服务使用的程序集中定义的IUserManagement服务合同。

这是一个可接受的方法?接口是否具有WCF属性(即:ServiceContracts/DataContract)对Wrappers的实现有什么影响?

回答

2

如果您需要与WCF数据合同相同的输入/输出参数,那将是一个合适的解决方案。这些接口用属性装饰并不会造成任何区别。

+0

非常感谢您的确认,这正是我想知道的。 –

相关问题