Próbuję wykryć aktualną przeglądarkę w jednym z moich kontrolerów Api w moim programie przy użyciu MVC4. Wszędzie wyglądam, jak ludzie mówią, aby używać Request.Browser
, ale nie mogę tego zmusić do działania. Jakieś sugestie, czy jest coś, co przeoczyłem?Jak wykryłbyś bieżącą przeglądarkę w kontrolerze Api?
13
A
Odpowiedz
21
Można użyć HttpBrowserCapabilities w system.Web jak ten
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;
ta polega na Browscap.ini w systemie Windows/System32/inetsrv/lub Windows/syswow64/Inetsrv dla definicji.
Ten artykuł może również pomóc - http://stephenwalther.com/archive/2010/03/05/use-asp-net-4-browser-definitions-with-asp-net-3-5
+3
Jeśli używasz HttpContext.Current.Request.UserAgent, dlaczego nie używać HttpContext.Current.Request.Browser? –
7
Można zrobić coś jak po zbyt od wewnątrz działania API sieci Web:
System.Net.Http.HttpRequestMessage currentRequest = this.Request;
System.Net.Http.Headers.HttpHeaderValueCollection<System.Net.Http.Headers.ProductInfoHeaderValue> userAgentHeader = currentRequest.Headers.UserAgent;
Powiązane problemy
- 1. Jak programowo odświeżyć przeglądarkę?
- 2. Generowanie tokena w kontrolerze
- 3. Jak mogę ponownie załadować bieżącą stronę w Ruby on Rails?
- 4. Zamień bieżącą aktywność
- 5. Jak wykryć przeglądarkę przeszła na pełny ekran
- 6. tym moduły w kontrolerze
- 7. AngularJS window.onbeforeunload w jednym kontrolerze jest wyzwalany na innym kontrolerze
- 8. Jak skonfigurować port w przeglądarkę synchronizacji
- 9. Jak otworzyć przeglądarkę w telefonie Blackberry?
- 10. Jak otworzyć przeglądarkę pamięci w Xcode 4?
- 11. Jak otworzyć domyślną przeglądarkę w C#
- 12. Jak otworzyć przeglądarkę internetową Eclipse?
- 13. Konstruktor w kontrolerze Symfony2
- 14. Trasy MVC w kontrolerze WebAPI
- 15. Użyj przeszukiwacza w kontrolerze
- 16. Jak zamknąć przeglądarkę z Capybara?
- 17. ASP.NET Web API - Wiele metod POST na jednym kontrolerze?
- 18. Jak ukryć bieżącą lokalizację w mapie google?
- 19. Jak odzyskać bieżącą nazwę strony w JSP?
- 20. Jak uzyskać bieżącą ścieżkę pliku w javascript
- 21. Jak ponownie załadować bieżącą stronę w Express.js?
- 22. Jak uzyskać bieżącą nazwę hosta w Heroku?
- 23. Jak wyśrodkować moją bieżącą lokalizację w MKMapView?
- 24. Jak automatycznie zmienić bieżącą ścieżkę w Vim?
- 25. jak uzyskać bieżącą ścieżkę aplikacji w WPF
- 26. Jak pobrać bieżącą wartość enablecfoutputlyly?
- 27. Funkcja win32 api, aby uzyskać bieżącą prędkość procesora
- 28. Spanie w kontrolerze
- 29. Regex w kontrolerze sprężynowym
- 30. Angularjs: filtr $ w kontrolerze
Zapytanie w APIController jest HttpRequestMessage vs HttpRequest, który zawiera informacje na przeglądarkę . Aby uzyskać możliwości przeglądarki, po prostu użyj 'HttpBrowserCapabilities bc = HttpContext.Current.Request.Browser;' –