Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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#web窗体上的每个请求上运行的事件_C#_Asp.net_.net_Webforms - Fatal编程技术网

在C#web窗体上的每个请求上运行的事件

在C#web窗体上的每个请求上运行的事件,c#,asp.net,.net,webforms,C#,Asp.net,.net,Webforms,我需要在服务器上发出的每个请求之前或之后运行的事件 如果该事件存在,我需要对该事件运行一些代码 例如:某人打字 我需要在应用程序处理此链接之前检查此链接 我使用的是C#web表单 到目前为止,我试图在Global.asax.cs中查找事件,类似 protected virtual void Application_BeginRequest(object sender, EventArgs e) { // need to track requested url // code th

我需要在服务器上发出的每个请求之前或之后运行的事件

如果该事件存在,我需要对该事件运行一些代码

例如:某人打字

我需要在应用程序处理此链接之前检查此链接

我使用的是C#web表单

到目前为止,我试图在Global.asax.cs中查找事件,类似

protected virtual void Application_BeginRequest(object sender, EventArgs e)
{
    // need to track requested url
    // code that needs to be run with requested url.
}
对于这种情况有什么适当的解决办法吗


Tnx

正确的解决方案是使用事件应用程序_BeginRequest,除非您想使事情复杂化并使用我不推荐的httpmodules

protected virtual void Application_BeginRequest(object sender, EventArgs e)
{
    var url = Request.Url.AbsoluteUri;
    var path = Request.Url.AbsolutePath;
    var host = Request.Url.Host;

    // your magic goes here
}
正如某些信息一样,所有事件的顺序如下:

  • 应用程序启动请求
  • 应用程序验证请求
  • 申请书及申请书
  • 应用程序\u解析请求缓存
  • 应用程序请求状态
  • 应用程序\u PreRequestHandlerExecute
  • 应用程序\u呈现请求标头
  • 应用程序\u呈现请求内容
    • 执行asp.net页面代码
  • 应用程序\u PostRequestHandlerExecute
  • 应用程序\发布请求状态
  • 应用程序\u UpdateRequestCache
  • 应用程序请求

    • 正确的解决方案是使用事件应用程序\u BeginRequest,除非您想使事情复杂化,并使用我不推荐的httpmodules

      protected virtual void Application_BeginRequest(object sender, EventArgs e)
      {
          var url = Request.Url.AbsoluteUri;
          var path = Request.Url.AbsolutePath;
          var host = Request.Url.Host;
      
          // your magic goes here
      }
      
      正如某些信息一样,所有事件的顺序如下:

      • 应用程序启动请求
      • 应用程序验证请求
      • 申请书及申请书
      • 应用程序\u解析请求缓存
      • 应用程序请求状态
      • 应用程序\u PreRequestHandlerExecute
      • 应用程序\u呈现请求标头
      • 应用程序\u呈现请求内容
        • 执行asp.net页面代码
      • 应用程序\u PostRequestHandlerExecute
      • 应用程序\发布请求状态
      • 应用程序\u UpdateRequestCache
      • 应用程序请求

      您需要使用HttpModule。这是应用程序中的url吗?你在检查什么?我需要检查服务器上请求的每个url。我需要为每个请求将请求的url与数据库中的一些数据进行比较。您需要使用HttpModule。这是应用程序中的url吗?你在检查什么?我需要检查服务器上请求的每个url。我需要为每个请求将请求的url与数据库中的一些数据进行比较。这是仅针对
      webforms
      的生命周期,还是与
      mvc
      的生命周期相同?只是为了获得知识……)mvc有一个类似的结构,但没有web.forms那么多的事件,你可以在这里阅读一些关于它的帮助,我还发现了这篇文章,我将尝试用Application_BeginRequest event实现。这是仅
      webforms
      的生命周期,还是与
      mvc
      的生命周期相同?只是为了获得知识……)mvc有一个类似的结构,但没有web.forms那么多的事件,您可以在这里阅读一些关于它的帮助,我还发现了这篇文章,我将尝试用应用程序_BeginRequest event实现它。