今日では、シナリオにAjaxのリクエストかどうかを決定する上でGlobal.asaxの中にリクエストが必要ですが、ASP.NET MVCで既製の拡張メソッドのIsAjaxRequestを提供してきました。
名前空間System.Web.Mvc { パブリック静的クラスAjaxRequestExtensions { パブリック静的ブールIsAjaxRequest(このHttpRequestBaseリクエスト)。 } }
しかし、この拡張メソッドだけHttpRequestBaseため、唯一のGlobal.asaxのHttpRequestで、HttpRequestBaseをなし。
その後、簡単にこの問題を解決するHttpRequestWrapper助けることができた、サンプルコードは次のように:
保護された無効Application_BeginRequest(オブジェクト送信者、EventArgsの電子) { CNBlogs.Infrastructure.Logging.Logger.Default.Infoは(、 "Ajaxリクエストです" )(新HttpRequestWrapper(リクエスト)。IsAjaxRequest()+ "\ n" + Request.Url .AbsoluteUri); }
実用的な検証は、この方法は、簡単で効果的です!
[参考文献]