WCF ServiceContract和svcutil问题

时间:2010-04-21 11:06:13

标签: wcf svcutil.exe servicecontract

我有一个自动生成的公共接口bu svcutil:

[System.ServiceModel.ServiceContractAttribute(Namespace="...", ConfigurationName="...")]
public interface MyInterface

然后我有asmx web服务继承它并且工作正常。我正在尝试将其转换为WCF,但是当我使用ServiceContract检测服务(在asmx.cs代码中)时:

[ServiceContract(Namespace = "...")]
public class MyService : MyInterface 

此外,我已经删除了.svc文件,并在配置文件中添加了system.serviceModel设置。目标是将asmx服务迁移到WCF服务。

我有这个错误:

MyService类型的服务类都定义了一个ServiceContract,并从MyInterface类型继承了ServiceContract。合同继承只能在接口类型中使用。如果类使用ServiceContractAttribute标记,则它必须是ServiceContractAttribute层次结构中的唯一类型。

asmx服务仍然正常运行。只有.svc给了我一些问题。我的问题是如何解决这个问题。 MyInterface是一个界面,所以我看不出问题是什么,为什么我还有错误。

注意我不想更改MyInterface,因为它是从我的wsdl架构的svcutil自动生成的,我不希望手动编辑此接口。整个想法是从WSDL自动生成服务类型,并通过手动编辑来保存我的团队开发工作。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您需要从ServiceContractAttribute课程中删除MyService。此属性已在接口中定义,这是指定此接口将作为WCF服务公开的正确方法。