在生成的代理文件中包含扩展方法

时间:2012-01-24 14:05:49

标签: wcf svcutil.exe

我们有两个程序集,DataContracts和Core。我们目前正在使用svcutil来生成我们的DataContracts,同时引用Core。我们在不同的枚举类型上有一些扩展方法,这些方法在客户端很有用。

有没有办法让svcutil将这些扩展方法包含在我们生成的代理文件中?

2 个答案:

答案 0 :(得分:1)

您想要公开的任何方法都需要作为operational contract的一部分。我不知道在没有了解WSDLImporter works的更多信息的情况下,在WSDL中公开元数据的任何其他方式。无论如何 - 元数据只是合同 - 您无法在元数据中共享操作/行为。共享方法行为(您的扩展)的唯一方法是将它们包含在共享合同/核心程序集中,或者将它们作为操作合同公开。

答案 1 :(得分:0)

svcutil生成的类是部分的。因此,这些类的功能可以分成多个文件。一个文件是由svcutil生成的文件,其中包含服务公开的功能。其他文件可能包含您要附加​​的功能,不属于数据合同

有关部分课程Partial Classes and Methods (C# Programming Guide) on MSDN

的更多信息