【问题标题】:WCF: Sharing Service Contracts with a Client's Proxy WrapperWCF:与客户端的代理包装器共享服务合同
【发布时间】:2011-11-09 11:12:00
【问题描述】:

我正计划为我的 WCF 客户端创建包装器,用于封装对 WCF 服务的调用。

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

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

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

我突然想到,我将创建的接口也可以强加包装器将实现的方法。

在这方面,定义包装器的项目是否应该引用定义服务合同的 Web 服务程序集?

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

这是一种可接受的方法吗?接口具有 WCF 属性(即:ServiceContracts / DataContract)这一事实是否对 Wrappers 的实现有任何影响?

【问题讨论】:

    标签: .net wcf


    【解决方案1】:

    如果您想要与 WCF 数据协定相同的输入/输出参数,这将是一个合适的解决方案。这些接口用属性修饰这一事实绝对不会有任何区别。

    【讨论】:

    • 太好了,感谢您的确认,这正是我想知道的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 2015-08-07
    相关资源
    最近更新 更多