【问题标题】:Mark Parameter of WCF service Operation as Required将 WCF 服务操作的参数标记为必填
【发布时间】:2023-04-02 04:03:01
【问题描述】:

我有以下 ServiceContract:

[ServiceContract(Namespace = Constants.NAMESPACE)]
public interface IAuthenticationService
{
    [OperationContract]
    LoginResult Login(LoginData data);
}

[DataContract(Namespace = Constants.NAMESPACE)]
public class LoginData
{
    [DataMember(IsRequired = true, Order = 1)]
    public string SupplierName { get; set; }

    [DataMember(IsRequired = true, Order = 2)]
    public string Token { get; set; }
}

当我使用 Soap UI 创建一个新请求时,请求显示如下:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://namepsace.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:Login>
         <!--Optional:-->
         <ws:data>
            <ws:SupplierName>?</ws:SupplierName>
            <ws:Token>?</ws:Token>
         </ws:data>
      </ws:Login>
   </soapenv:Body>
</soapenv:Envelope>

我找不到&lt;!--Optional:--&gt; 在数据元素上方的原因。

上面的代码完全按照How to specify a parameter of an OperationContract as required中建议的答案进行

我需要做什么才能使 data 参数成为必需?

【问题讨论】:

标签: wcf datacontract


【解决方案1】:

Here 是你可以使用的,我在搜索这个问题的答案时遇到了这个

【讨论】:

  • 可能更适合作为重复的标记和评论。
猜你喜欢
  • 1970-01-01
  • 2013-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多