【问题标题】:Add reference to web service添加对 Web 服务的引用
【发布时间】:2013-03-27 14:04:09
【问题描述】:

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

然后所有方法都可用。

第一种情况有什么问题?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 所以......当我尝试在第一种情况下添加对服务的引用时,没有任何方法。我试图找到原因
      猜你喜欢
      • 2013-02-05
      • 2011-10-04
      • 2011-01-23
      • 2011-10-13
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 2012-03-17
      相关资源
      最近更新 更多