我应该如何验证传递到 WCF 服务的参数?

mr *_*ose 1 validation wcf

通常,您使用模式或代码契约检查公共方法中的传入参数if-then-throw
我的问题是,我应该如何验证 WCF 服务中传递的参数?例如,我有以下合同:

[OperationContract]
Stock GetStock(string symbol);
Run Code Online (Sandbox Code Playgroud)

我想确保symbol参数不是null空字符串。我应该if-then-throw在服务端使用相同的模式或代码契约前提条件吗?我应该FaultContract向该GetStock方法添加属性并向客户端返回错误吗?WCF 服务的最佳参数验证技术是什么?

Ern*_*ieL 5

Enterprise Library Validation Application Block有一个用于与 WCF 集成的适配器,正是为此而设计的。

这个CodeProject 简介有点旧,但提供了比 MSDN 链接更多的背景知识。