生成WebMethod未使用的代理类

时间:2010-01-20 20:06:21

标签: c# proxy wsdl asmx

我有点与这个问题相反: wsdl : Generate Proxy for the WebMethods but not the other dependent classes

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

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

2 个答案:

答案 0 :(得分:1)

如果源dll是你控制的东西,那么复制类实际上会导致问题。更好的方法是将共享类提取到客户端和服务器项目都可以引用的“共享”或“Interop”或“Common”dll。

这样做也有助于将数据与逻辑分开,因为共享/互操作/公共项目不应该引用任何其他内容,而且非常简单的数据容器。

答案 1 :(得分:0)

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

HTH