所有WebMethod请求的事件

时间:2013-10-09 03:48:50

标签: asp.net webmethod

在我们的WebApplication中,我们有很多[WebMethod]调用。出于安全考虑,我们要检查其是否为登录用户(使用会话)。如何在不在所有WebMethods内编写代码的情况下检查它?

例如

[WebMethod]
public static bool WebMethodCall()
{// check if its a logged in user or not before executing the webmethod
  return true;
}

2 个答案:

答案 0 :(得分:0)

我通过例子给你这个答案 我有webservice名为common.cs 现在

   public class Common : System.Web.Services.WebService
    {


     public Common () 

        {
           //here you can check your session so when ever your 
webmethod will be executed this code will call first then your webmethod

        }
//this webmethod will be executed after common
       [WebMethod]
      public static bool WebMethodCall()
         {// check if its a logged in user or not before executing the webmethod
               return true;
         }
[WebMethod]
      public static bool WebMethodCall1()
         {// check if its a logged in user or not before executing the webmethod
               return true;
         }
    }

所以解释将是这样的 你有一个名为普通的公共类和两个webmethod webmethodcall webmethodcall1 常见中添加常用代码 我希望这会帮助你... ...)

答案 1 :(得分:0)

我的第一个想法是使用自定义的httpModule。但是,进一步的读数表明使用SoapExtensions可以解决问题。见例子: http://www.hanselman.com/blog/ASMXSoapExtensionToStripOutWhitespaceAndNewLines.aspx