我正在开发一个基于.NET4的简单Web服务
我的大多数WebMethod都是这样的
[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?
感谢您的任何想法(非常感谢代码片段!) 英格玛
答案 0 :(得分:0)
ASMX Example使用SoapExtension,SoapExtensionReflector,SoapExtensionImporter
在WCF中执行相同操作因此提供了一个示例:)