C# 验证每个WebMethod中的某些参数
我正在开发一个基于.NET4的简单web服务 我的大多数WebMethods都是这样的C# 验证每个WebMethod中的某些参数,c#,.net,web-services,C#,.net,Web Services,我正在开发一个基于.NET4的简单web服务 我的大多数WebMethods都是这样的 [WebMethod] public List<Customer> GetCustomers(Country country, Guid sessionId) { if (!Validate(sessionId) return null; ... } [WebMethod] public Li
[WebMethod]
public List<Customer> GetCustomers(Country country, Guid sessionId)
{
if (!Validate(sessionId)
return null;
...
}
[WebMethod]
public List<Order> GetOrders(Customer customer, Guid sessionId)
{
if (!Validate(sessionId)
return null;
...
}
正如您所见,web方法需要在执行实际工作之前验证给定的会话id。由于我将有几个这样的WebMethods,我担心会错过几个WebMethods中的Validate调用
在执行相关WebMethods之前,我是否有机会拦截并验证给定的sessionId?如果验证失败,则返回Null或其他任何值-因此甚至没有调用相关的WebMethod
非常感谢您提供的任何想法代码片段,非常感谢!
英格玛使用
在WCF中执行同样的操作非常简单,因此提供了一个示例:
使用谢谢您的建议。是的,处理属性可能比我做的更干净。但我仍然被迫用这些属性来装饰每一个方法。然而,我更倾向于寻找更高层次的东西,例如类构造函数之类的东西。但也许我遗漏了一点?在相关WebMethods被执行之前,我是否有机会拦截并验证给定的sessionId?问题的一部分只能通过使用属性来回答。同时也要检查你可能要找的东西。