Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 验证每个WebMethod中的某些参数_C#_.net_Web Services - Fatal编程技术网

C# 验证每个WebMethod中的某些参数

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

我正在开发一个基于.NET4的简单web服务

我的大多数WebMethods都是这样的

    [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?问题的一部分只能通过使用属性来回答。同时也要检查你可能要找的东西。