ASP.NET MVC Check可在Global.asax中移动

时间:2019-03-09 21:47:53

标签: c# asp.net asp.net-mvc iis global-asax

我想检查用户是否在Global.asax的Application_Start函数内部的移动页面上,以便创建移动显示模式。

有什么办法可以做到吗? 我厌倦了Request.Browser.IsMobileDevice,但出现了异常“请求在此上下文中不可用”

1 个答案:

答案 0 :(得分:0)

使用Application_BeginRequest代替使用HTTP_USER_AGENT服务器变量代替Request.IsMobileDevice:

 void Application_BeginRequest(object sender, EventArgs e)
    {
       var u = Request.ServerVariables("HTTP_USER_AGENT");
       var uri =  Request.Url.AbsoluteUri.ToLower();
          //put DetectMobileBrowsersCode Here, for exmaple if user agents contains apple , android , etc ...

          if (b.IsMatch(u) || v.IsMatch(Left(u, 4)))
          {
              Response.Redirect("http://m.yoursite.com");
          } 
    }