文章出處
文章列表
今天在一個應用場景中需要在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); }
經實際驗證,該方法簡單有效!
【參考資料】
How do I convert an HttpRequest into an HttpRequestBase object?
文章列表
全站熱搜