我在VS2005中有一个WebService项目和一个Mobile Device .NET CF项目。我将Web引用添加到WebService,因此我有一个使用代理类生成的Reference.cs。我的问题是我还想生成纯接口和代理类来实现这个接口。我希望使用此接口提供自定义实现,作为WebService不可用时的后备。是否可以使用VS2005和WSDL生成器?
由于
答案 0 :(得分:9)
@ Koynov有基本想法。但是,不是从代理类继承,而是创建另一个部分类部分。假设该服务名为MyService,Web引用名为“Proxy”,默认名称空间为“Namespace”,则创建一个名为“Proxy”的新文件夹。在该文件夹中,创建一个名为MyService的新类:
namespace Namespace.Proxy
{
public partial class MyService : IMyService
{
}
}
答案 1 :(得分:6)
我不知道如何生成服务代理实现的接口。
您可以尝试对生成的代理类使用Refactor-> Extract Interface。之后,您可以编写一个包装类,该类继承代理并实现提取的接口。你可以只调整生成的代理类,然后说它将实现提取的接口,而不是编写一个包装类。选择第二种方法的缺点是你搞乱自动生成的代码,这通常不是一个好主意