Tôi đang cố gắng phát hiện trình duyệt web hiện tại trong một trong các Bộ điều khiển Api của tôi trong chương trình của tôi bằng MVC4. Ở khắp mọi nơi tôi nhìn mọi người nói để sử dụng Request.Browser
, tuy nhiên tôi không thể làm điều đó để làm việc. Bất kỳ đề xuất hoặc có cái gì tôi nhìn?Làm cách nào để bạn phát hiện trình duyệt hiện tại trong Bộ điều khiển Api?
13
A
Trả lời
21
Bạn có thể sử dụng HttpBrowserCapabilities trong System.Web như thế này
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;
này dựa trên browscap.ini trong Windows/System32/inetsrv/hoặc Windows/SysWOW64/inetsrv cho các định nghĩa.
Bài viết này cũng có thể giúp - http://stephenwalther.com/archive/2010/03/05/use-asp-net-4-browser-definitions-with-asp-net-3-5
+3
Nếu bạn sử dụng HttpContext.Current.Request.UserAgent, tại sao không sử dụng HttpContext.Current.Request.Browser? –
7
Bạn có thể làm một cái gì đó như sau quá từ bên trong hành động API Web:
System.Net.Http.HttpRequestMessage currentRequest = this.Request;
System.Net.Http.Headers.HttpHeaderValueCollection<System.Net.Http.Headers.ProductInfoHeaderValue> userAgentHeader = currentRequest.Headers.UserAgent;
Các vấn đề liên quan
- 1. trình duyệt phát hiện
- 2. Làm thế nào để bạn phát hiện hỗ trợ cho VML hoặc SVG trong trình duyệt
- 3. cách tốt nhất để phát hiện trình duyệt trong js
- 4. Phát hiện Trình duyệt iPhone
- 5. Bật API YouTube trên trình phát hiện tại
- 6. Phát hiện JavaScript/Thống kê trình duyệt
- 7. Nhận ID Bộ điều khiển Hiện tại trong Yii
- 8. Làm cách nào để tạo thông số kỹ thuật cho các bộ điều khiển hiện tại?
- 9. Bất kỳ cách nào để phát hiện xem bảng điều khiển trình duyệt có thể hiển thị màu không?
- 10. Cách phát hiện Chế độ hiển thị của trình duyệt cho trang hiện tại?
- 11. jQuery ngôn ngữ trình duyệt phát hiện
- 12. LÀM THẾ NÀO? Bộ điều khiển trả về không có gì/chế độ xem hiện tại
- 13. Tôi làm cách nào để phát hiện onKeyUp trong AngularJS?
- 14. Rails Phương pháp phát hiện trình duyệt
- 15. Trình bày một bộ điều khiển phương thức mà không biết bộ điều khiển xem hiện tại?
- 16. Phát hiện bộ nhớ cache của trình duyệt theo jQuery
- 17. Phát hiện làm mới trình duyệt trong Javascript
- 18. Có một bộ điều khiển xem khác trước khi bộ điều khiển chế độ xem hiện tại xuất hiện
- 19. Xcode: Làm thế nào để tạo một bộ điều khiển xem PopUp xuất hiện trong bộ điều khiển xem khác
- 20. Trình điều khiển chế độ xem hiện tại từ AppDelegate?
- 21. Cách phát hiện tương thích HTML 5 trong trình duyệt
- 22. Cách phát hiện thực thi javascript trong điều khiển WebBrowser
- 23. phát hiện thiết bị trình duyệt di động trong .NET
- 24. ASP.NET Web API: Làm cách nào để bạn đọc biến máy chủ trong bộ điều khiển API Web?
- 25. Trình duyệt Phát hiện Plugin Java
- 26. Làm cách nào để nhận phản hồi đầu tiên hiện tại từ bộ điều khiển cửa sổ trong Cocoa?
- 27. Làm thế nào để bạn ngắt JS trong trình duyệt?
- 28. Javascript phát hiện trình duyệt gốc android
- 29. Chrome - Phát hiện khi trình duyệt thoát
- 30. Nhận trình điều khiển PDO hiện tại từ kết nối hiện có?
Yêu cầu trong một APIController là một HttpRequestMessage vs các HttpRequest có chứa các thông tin trình duyệt . Để có được khả năng của trình duyệt, chỉ cần sử dụng 'HttpBrowserCapabilities bc = HttpContext.Current.Request.Browser;' –