W ASP.NET, w jaki sposób mogę dowiedzieć się w czasie wykonywania, czy klient łączy się za pomocą protokołu HTTP 2, czy nie?Jak mogę się dowiedzieć, czy klient łączy się za pomocą protokołu HTTP/2?
Odpowiedz
Co ciekawe, nie mogę znaleźć żadnych istotnych właściwości na System.Web.HttpRequest
(tylko pobieżnie). Będziesz chciał się do tego przyzwyczaić i sprawdzić, czy w interfejsach API vnext nie ma nic nowego, w zależności od tego, z czego korzystasz.
Możesz także obejść potencjalny brak API, jeśli używasz OWIN. Opcja standard wymaga ustawienia właściwości w danych żądania.
W środowisku ASP.NET można uzyskać dostęp do obiektu OwinContext
, który reprezentuje te właściwości z dowolnego miejsca z HttpContext.Current.GetOwinContext()
. Możesz też udostępnić go innym sposobem (np. Wstrzyknięciem zależności). Będzie to zależało od twojego środowiska, poszukaj klasy uruchamiania OWIN z Katana i vnext.
Zainstaluj wtyczkę dla HTTP/2 i SPDY w przeglądarce Chrome. Wtyczka będzie miała symbol błyskawicy na pasku adresu URL. Jeśli symbol błyskawicy staje się niebieski, oznacza to, że komunikacja odbywa się przez HTTP/2.0. Kolor zielony wskazuje połączenie SPDY.
Dla przeglądarki Firefox przejdź do opcji narzędzia programu Developter -> Sieć, a następnie połącz się z serwerem. Uaktualnienie - h2 znajdziesz w nagłówku odpowiedzi. Aktualizacja h2 wskazuje, że twój klient działa z serwerem HTTP/2.0.
Potrzebuję dowiedzieć się w czasie wykonywania na serwerze dla wszystkich łączących się użytkowników. – boot4life