今天在一个应用场景中需要在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() + "\n" + Request.Url.AbsoluteUri);
}

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

new HttpRequestWrapper(HttpContext.Current.Request).IsAjaxRequest()

转载于:https://www.cnblogs.com/vaevvaev/p/7002409.html

如何在Global.asax中判断是否是ajax请求相关推荐

  1. Global.asax中Application_Error无法执行

    Global.asax中Application_Error无法执行 问题解决后才发现这句是错误的,之前用VS2005开发后发布到服务器上也出现这种情况,后来莫名 的好了(是解决了没发现原因). 之前的 ...

  2. linux检查socekt是否断开,如何在C语言中判断socket是否已经断开

    如果不主动关闭socket的话,系统不会自动关闭的,除非当前进程挂掉了,操作系统把占用的socket回收了才会关闭.小编今天跟大家简单介绍下如何在C语言中判断socket是否已经断开 下面来介绍判断非 ...

  3. 定时发布任务,在global.asax中获取文件的物理路径的方法

    如果要把一个相对路径或者虚拟路径映射道服务器的物理路径,通常会使用Server.MapPath()函数,比如将根目录下的html目录映射为物理路径:Server.MapPath("html& ...

  4. php判断ajax传入,利用PHP判断是否为AJAX请求代码

    对于一些API接口,通常检测是否为AJAX请求,一定程度上能提高下安全性. 先说前端使用 jQuery 时怎么区分: jQuery 发出 ajax 请求时,会在请求头部添加一个名为 X-Request ...

  5. php 判断是否是ajax请求,php实现判断是否为ajax请求的方法

    这篇文章主要介绍了php判断是否为ajax请求的方法,结合实例形式分析了ajax请求的原理及后台针对ajax请求的判断技巧,需要的朋友可以参考下 先说前端使用 jQuery 时怎么区分: jQuery ...

  6. 服务器与网页之间异步,在服务器端判断request来自Ajax请求(异步)还是传统请求(同步)...

    在一次做非常复杂的ajax应用时,如果一个会话已经超时,但是此时再通过ajax请求,那么ajax返回的则是一个登陆页面的html,那这下就惨了,页面上而已就乱了,那么,能否在Java端,如拦截器里判断 ...

  7. 判断是否为ajax请求

    // IsAjaxRequest checks and returns whether current request is an AJAX request. func (r *Request) Is ...

  8. 如何在Global Mapper中打开谷歌卫星地图

    一.准备工作 安装水经注万能地图下载器,如果没有安装本软件,可以百度"水经注软件"到官方网站下载. 安装Global Mapper,版本可以是11.12.13.14.15或16,这 ...

  9. promise的应用和在VUE中使用axios发送AJAX请求服务器

    promise 用promise对函数封装: 原来的代码: <!DOCTYPE html> <html> <head><title>vue demo&l ...

最新文章

  1. 离线安装Visual Studio Code插件
  2. LED和LCD的区别
  3. 为什么苹果有2500亿美刀不用,偏偏要借钱?
  4. 12种获取节点和元素的代码
  5. 简述台式计算机组装的基本步骤,《计算机组装与维修》期中考试试卷答案
  6. android 多图片优化工具,总结Android App内存优化之图片优化
  7. 学汽车故障计算机排除怎么样,汽车故障清除后就没事了么?
  8. 坚果Pro2刷魔趣系统教程
  9. 80后三口之家如何理财
  10. WPS WORD 项目符号和编号,继续前一列表
  11. 从纹理中生成法线贴图
  12. AI项目环境搭建go+supervisor+openresty
  13. 十三、学习分布式爬虫之字体反爬
  14. Fedora Core 6安装手册
  15. fna服务器未响应,服务器端口说明
  16. C#中File和FileInfo的区别和用法
  17. python字符串左边补0_python 实现数字字符串左侧补零的方法
  18. 阿里面试现场实录,三轮技术面+HR面总结归纳,属于包教包会的面经了
  19. python将图片转动漫_如何将照片动漫化
  20. WEB开发 高德地图应用,初始加载,地图定位,层级变化控制,根据经纬度获取详细地址信息,点击事件以及地图自适应

热门文章

  1. 微软CRM 2011 Beta 新功能之二:不同组织不同基本语言
  2. Concurrent HTTP connections in Node.js
  3. Dubbo xml配置 和注解配置 写法
  4. 基本语法和数组(二维,多维,交错数组)
  5. unicode 与 utf-8
  6. 配置CNPM-基础案例
  7. 怎么利用GitHub
  8. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境
  9. 基于visual Studio2013解决C语言竞赛题之0304整除数
  10. 【好用的ORM框架】