我是WCF的新手,我尝试向数据成员添加限制.
例如,这种方法:
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
Run Code Online (Sandbox Code Playgroud)
我想设置最大和最小长度.我知道如何将限制添加到XML代码
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="10"/>
</xs:restriction>
Run Code Online (Sandbox Code Playgroud)
但有没有办法直接从代码中添加限制?
通常,您使用模式或代码契约检查公共方法中的传入参数if-then-throw 。
我的问题是,我应该如何验证 WCF 服务中传递的参数?例如,我有以下合同:
[OperationContract]
Stock GetStock(string symbol);
Run Code Online (Sandbox Code Playgroud)
我想确保symbol参数不是null空字符串。我应该if-then-throw在服务端使用相同的模式或代码契约前提条件吗?我应该FaultContract向该GetStock方法添加属性并向客户端返回错误吗?WCF 服务的最佳参数验证技术是什么?