C# 如何从WSDL.exe生成客户端代码和接口代码?

C# 如何从WSDL.exe生成客户端代码和接口代码?,c#,web-services,wsdl,C#,Web Services,Wsdl,我正在写一些.NET2.0ASMX服务。我有一个场景,我需要用WSDL.exe生成一个web服务代理,但是生成的类没有实现接口,所以我不能伪造web服务进行测试 我正在尝试一种方法,但目前还没有编译:我知道WSDL.exe可以使用/serverInterface选项生成接口。原则上,我希望生成接口和代理类,如下所示: public class MockableWebService : MyWebService, IMyWebServiceSoap11Binding { // No imp

我正在写一些.NET2.0ASMX服务。我有一个场景,我需要用WSDL.exe生成一个web服务代理,但是生成的类没有实现接口,所以我不能伪造web服务进行测试

我正在尝试一种方法,但目前还没有编译:我知道WSDL.exe可以使用
/serverInterface
选项生成接口。原则上,我希望生成接口和代理类,如下所示:

public class MockableWebService : MyWebService, IMyWebServiceSoap11Binding
{
    // No implementation, the interface is already implicitly implemented
    // from the methods in the base class.
}
wsdl MyWebService.wsdl/nologo/l:CS /名称空间:Juliet.Services /o:C:\projects\JulietService\MyWebServiceInterface.cs /服务器接口

wsdl MyWebService.wsdl/nologo/l:CS /名称空间:Juliet.Services /o:C:\projects\JulietService\MyWebServiceProxy.cs

然后在我的项目中包含这两个文件。之后,我应该能够从生成的代理派生出自己的类,并实现生成的接口,如下所示:

public class MockableWebService : MyWebService, IMyWebServiceSoap11Binding
{
    // No implementation, the interface is already implicitly implemented
    // from the methods in the base class.
}
这在原则上应该是可行的,除了之外,接口和代理文件都会自动为我的请求/响应消息生成相同的类定义,从而导致数百个类型错误
命名空间“Juliet.Services”已经包含了“ABC”的定义。


我希望接口/代理生成尽可能自动化——这意味着,我希望避免不惜一切代价手工修改生成的代码


有人能提出一种方法来使用WSDL.exe同时生成接口和代理,或者一种更好的方法来获得上述结果吗?

难道.NET 2.0 WSDL.exe不生成分部类吗?然后,您可以在另一个类部件上实现该接口:

public partial class MockableWebService : IMyWebServiceSoap11Binding
{
}

您的建议使我更容易避免从生成的代理派生自己的类,但我有一个稍微不同的问题:WSDL.exe将代理和接口类作为单独的操作生成。生成的代理和生成的接口包含定义还将包含请求/响应消息的定义——最终结果,我不能同时包含这两个输出的文件,因为它们包含重复的类定义。我不想在不同的名称空间中生成响应,理想情况下,我希望禁止为我的一个文件生成请求/响应消息。很抱歉,这是不可能的。这也不是你想要的。+1,也会感兴趣为什么有人否决了这个。。。还有:@朱丽叶,你应该接受这个答案。