如果我有一些像
这样的WCF方法GetEmployeeDetailsResponse GetEmployeeDetails(GetEmployeeDetailsRequest request)
GetCustomerDetailsResponse GetEmployeeDetails(GetCustomerDetailsRequest request)
我需要对Request对象执行输入验证,我可以使用静态方法吗? 许多验证都很常见,例如Request对象不应该为null,而员工ID /客户ID(在请求消息中)不应该是0等等。我猜测,因为Request对象本身是单独的对象,将它们传递给静态方法不应该导致任何线程安全问题。 我正在使用Per-Call服务。
谢谢你 维卡斯
答案 0 :(得分:0)
是的,你可以。
但是 - 考虑一下您将验证请求#1的情况,并在请求#1之前收到请求#2 。
如果你的静态方法会对这两个请求做一些共同的事情,你会发现自己正在考虑locks
,...
使用某种检查员,如IClientMessageInspector ,会更多 正确的选择 - IMO。