我正在从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);


这些方法都可用。

第一种情况有什么问题?

最佳答案

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

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


  除了为操作标头指定特定值
  在回复消息中,您还可以指定字符串“ *”(星号)。
  在服务中指定星号指示WCF不要添加回复
  对消息采取的措施,如果您针对
  直接发送邮件。在客户端应用程序中指定星号
  指示WCF不验证答复操作。

关于c# - 添加对Web服务的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15660844/

10-14 19:46
查看更多