我希望在我的WCF数据协定成员上放置属性以验证字符串长度,并可能使用正则表达式进行更细粒度的参数验证.
我可以为数字和DateTime值设置[Range]属性,并且想知道是否有人找到了我可以用于数据验证的任何其他WCF数据成员属性.我发现Silverlight有很多属性,但WCF却没有.
通常,您使用模式或代码契约检查公共方法中的传入参数if-then-throw 。
我的问题是,我应该如何验证 WCF 服务中传递的参数?例如,我有以下合同:
[OperationContract]
Stock GetStock(string symbol);
Run Code Online (Sandbox Code Playgroud)
我想确保symbol参数不是null空字符串。我应该if-then-throw在服务端使用相同的模式或代码契约前提条件吗?我应该FaultContract向该GetStock方法添加属性并向客户端返回错误吗?WCF 服务的最佳参数验证技术是什么?