zoukankan      html  css  js  c++  java
  • 如何在Global.asax中判断是否是ajax请求

    今天在一个应用场景中需要在Global.asax中判断一个请求是否是ajax请求,而在ASP.NET MVC中已经提供了一个现成的扩展方法IsAjaxRequest:

    复制代码
    namespace System.Web.Mvc
    {
        public static class AjaxRequestExtensions
        {
            public static bool IsAjaxRequest(this HttpRequestBase request);
        }
    }
    复制代码

    但这个扩展方法只是针对HttpRequestBase,而在Global.asax中只有HttpRequest,没有HttpRequestBase。

    后来发现可以借助HttpRequestWrapper轻松解决这个问题,示例代码如下:

    protected void Application_BeginRequest(Object sender, EventArgs e)
    {
        CNBlogs.Infrastructure.Logging.Logger.Default.Info("Is a ajax Request", 
            (new HttpRequestWrapper(Request)).IsAjaxRequest() + "
    " + Request.Url.AbsoluteUri);
    }

    经实际验证,该方法简单有效!

    【参考资料】

    How do I convert an HttpRequest into an HttpRequestBase object?

  • 相关阅读:
    小猫爬山
    方格取数
    Bash 脚本编程
    树链剖分学习笔记
    输入输出优化
    没有上司的舞会
    线性dp 之 麻烦的聚餐
    飞翔
    挖地雷
    The Prices
  • 原文地址:https://www.cnblogs.com/Jeely/p/10951269.html
Copyright © 2011-2022 走看看