添加对Web服务的引用

时间:2013-03-27 14:04:09

标签: c# visual-studio-2010 wcf web-services

我正在从wsdl生成一个Web服务,并在其中包含一些带有属性的方法。

[System.ServiceModel.OperationContractAttribute(Action="http://link/update", ReplyAction="*")]
WebServices.updateResponse update(WebServices.updateRequest request);

当我尝试在我的VS2010项目中添加对此服务的引用时,根本没有方法。

更改属性后

[System.ServiceModel.OperationContract]
WebServices.updateResponse update(WebServices.updateRequest request);

这些方法随后都可用。

第一种情况出了什么问题?

2 个答案:

答案 0 :(得分:2)

System.ServiceModel.OperationContract - 是System.ServiceModel.OperationContractAttribute的简短版本。问题出在你的ReplyAction =“*”中,它会破坏你的元数据(意味着WsdlExporter将忽略该操作)。尝试将其设置为任何其他值。

来自MSDN(http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontractattribute.replyaction.aspx):

  

除了为动作头指定特定值外   在回复消息中,您还可以指定字符串“*”(星号)。   在服务中指定星号指示WCF不添加回复   对消息的操作,如果您正在编程,这很有用   消息直接。在客户端应用程序中指定星号   指示WCF不验证回复操作。

答案 1 :(得分:0)

根据msdn,没有区别。 C#将OperationContract转换为OperationContractAttribute