我試圖在我的程序中使用MVC4在我的一個Api控制器中檢測當前的Web瀏覽器。我看到的每個人都說要使用Request.Browser
,但是我無法讓它工作。任何建議或有我忽略的東西?如何檢測Api控制器中的當前瀏覽器?
13
A
回答
21
可以使用的HttpBrowserCapabilities的System.Web中這樣
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
+3
如果使用HttpContext.Current.Request.UserAgent,爲什麼不使用HttpContext.Current.Request.Browser? –
7
你可以做這樣的事情從Web API的行動中,下列太:
System.Net.Http.HttpRequestMessage currentRequest = this.Request;
System.Net.Http.Headers.HttpHeaderValueCollection<System.Net.Http.Headers.ProductInfoHeaderValue> userAgentHeader = currentRequest.Headers.UserAgent;
相關問題
- 1. 當前瀏覽器版本檢測
- 2. 如何檢測瀏覽器?
- 3. 如何在C#web API中檢測當前瀏覽器和設備?
- 4. 當硒瀏覽器在瀏覽器中更改url時檢測
- 5. 如何檢測瀏覽控制器是否從導航控制器彈出?
- 6. 如何檢測Ember中的瀏覽器
- 7. 如何檢測Elm中的瀏覽器
- 8. 瀏覽器檢測
- 9. 瀏覽器檢測
- 10. 瀏覽器檢測
- 11. 檢測刷新瀏覽器卸載/ beforeunload當瀏覽器關閉
- 12. 如何在JavaScript中檢測瀏覽器?
- 13. 如何檢測瀏覽器是否支持webkit瀏覽器?
- 14. 如何在Extjs4 tpl中添加檢測當前瀏覽器的條件
- 15. 瀏覽器檢測jQuery的?
- 16. 檢測瀏覽器當前的「媒體」模式
- 17. 檢測HTML瀏覽器中的Chrome瀏覽器
- 18. 如何使用JavaScript檢測瀏覽器?
- 19. 如何檢測瀏覽器功能?
- 20. 如何檢測瀏覽器支持requestFullscreen
- 21. 如何讓瀏覽器檢測hashchange
- 22. PrimeFaces如何檢測瀏覽器?
- 23. 瀏覽器如何檢測html5?
- 24. 如何檢測瀏覽器關閉?
- 25. 如何使用jQuery檢測瀏覽器?
- 26. 如何檢測IE和Edge瀏覽器?
- 27. 如何檢測瀏覽器類型
- 28. 檢查當前瀏覽器是否支持JS API函數
- 29. API控制器不能在瀏覽器中的MVC asp.net
- 30. 檢測AOL瀏覽器
請求在APIController是HttpRequestMessage VS包含瀏覽器信息的HttpRequest 。要獲得瀏覽器功能,只需使用'HttpBrowserCapabilities bc = HttpContext.Current.Request.Browser;' –