您如何检测Api控制器中的当前浏览器?
我正在尝试使用MVC4在我的程序中的一个Api控制器中检测当前的Web浏览器。 无论我到哪里,人们都会说要使用Request.Browser
,但是我无法Request.Browser
工作。 有什么建议或者我有什么东西可以忽略吗?
您可以像这样使用System.Web中的HttpBrowserCapabilities
var userAgent = HttpContext.Current.Request.UserAgent; userBrowser = new HttpBrowserCapabilities { Capabilities = new Hashtable { { string.Empty, userAgent } } }; var factory = new BrowserCapabilitiesFactory(); factory.ConfigureBrowserCapabilities(new NameValueCollection(), userBrowser); //Set User browser Properties BrowserBrand = userBrowser.Browser; BrowserVersion = userBrowser.Version;
这依赖于Windows / System32 / inetsrv /或Windows / SysWOW64 / inetsrv中的browscap.ini进行定义。
本文也可能有所帮助 – http://stephenwalther.com/archive/2010/03/05/use-asp-net-4-browser-definitions-with-asp-net-3-5
您可以在Web API的操作中执行类似的操作:
System.Net.Http.HttpRequestMessage currentRequest = this.Request; System.Net.Http.Headers.HttpHeaderValueCollection userAgentHeader = currentRequest.Headers.UserAgent;
- 无法使用Ninject将依赖项注入到从Angular Service调用的ASP.NET Web API控制器中
- MVC:在Application启动时运行方法而不从Application_Start调用它
- 仅在从特定操作重定向时才允许访问操作
- 使用facebook登录MVC5 Null参考
- Razor HTML Helpers在Nop Commerce插件中提供智能感知错误
- 防止恶意请求 – DOS攻击
- HtmlTable和TagBuilder之间的区别(“表”)
- MVC – 混合身份validation – OWIN + Windows身份validation
- 什么时候在ASP.NET MVC中使用ViewBag / ViewData是“可接受的”?