【问题标题】:Generate proxy classes not used by WebMethod生成 WebMethod 不使用的代理类
【发布时间】:2010-01-20 20:06:20
【问题描述】:

我的问题正好相反: wsdl : Generate Proxy for the WebMethods but not the other dependent classes

如何自动生成对客户端有用但既不是 DataContracts 也不是 ServiceContracts 的其他类(实用程序类)?换句话说,想要提取特定的类而不是包含整个 DLL。

编辑:是的任意类。我认为我们最终会将它们提取到一个 DLL 中,而不是它们当前所在的那些。只是想知道是否有一种方法可以使用反射或工具仅将特定类从源 DLL 复制到目标 DLL。 “代理”可能是错误的词,因为这些方法不会调用 WCF。相反,它们将是普通类,除了它们是从源 DLL 复制的。 (原因是不想共享所有(可反编译的)DLL。)

【问题讨论】:

  • 你能说得更具体点吗?你指的是什么类?如果你的意思是任意类不是服务接口的一部分,那么答案是“你没有”。

标签: c# proxy wsdl asmx


【解决方案1】:

如果源 dll 是您可以控制的,那么复制类确实会导致问题。更好的方法是将共享类提取到客户端和服务器项目都可以引用的“共享”或“互操作”或“通用”dll。

这样做还有助于将数据与逻辑分开,因为 shared/interop/common 项目不应引用任何其他内容,并且是非常简单的数据容器。

【讨论】:

    【解决方案2】:

    您不能通过 WSDL 指定方法实现。为了完成你想要做的事情,你需要创建一个构建脚本/宏来创建和编译一个客户端库,该库具有代理和你的 util 方法。

    HTH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 2016-04-14
      相关资源
      最近更新 更多