Debugowanie aplikacji ASP.NET Core
Uwaga
Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z bieżącą wersją, zobacz wersję tego artykułu platformy .NET 9.
Ważne
Te informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany, zanim zostanie wydany komercyjnie. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Aby zapoznać się z bieżącą wersją, zobacz wersję tego artykułu platformy .NET 9.
W tym artykule opisano sposób debugowania Blazor aplikacji, w tym debugowania Blazor WebAssembly aplikacji za pomocą narzędzi deweloperskich przeglądarki lub zintegrowanego środowiska projektowego (IDE).
Blazor Web Apps można debugować w programie Visual Studio lub Visual Studio Code.
Blazor WebAssembly aplikacje można debugować:
- W programie Visual Studio lub Visual Studio Code.
- Korzystanie z narzędzi programistycznych przeglądarki w przeglądarkach opartych na Chromium, w tym Przeglądarki Microsoft Edge, Google Chrome i Firefox.
Dostępne scenariusze debugowania Blazor WebAssembly obejmują:
- Ustawianie i usuwanie punktów przerwania.
- Uruchom aplikację z obsługą debugowania w środowiskach IDE.
- Jednoetapowy kod.
- Wznów wykonywanie kodu za pomocą skrótu klawiaturowego w środowiskach IDE.
- W oknie Ustawienia lokalne obserwuj wartości zmiennych lokalnych.
- Zobacz stos wywołań, w tym łańcuchy wywołań między językiem JavaScript i platformą .NET.
- Użyj serwera symboli do debugowania skonfigurowanego przez preferencje programu Visual Studio.
Nieobsługiwane scenariusze obejmują:
- Debugowanie w scenariuszach innych niż lokalne (na przykład Podsystem Windows dla systemu Linux (WSL) lub Visual Studio Codespaces.
- Debuguj w przeglądarce Firefox z poziomu programu Visual Studio lub Visual Studio Code.
Blazor Server aplikacje można debugować w programie Visual Studio lub Visual Studio Code.
Blazor WebAssembly aplikacje można debugować:
- W programie Visual Studio lub Visual Studio Code.
- Korzystanie z narzędzi deweloperskich przeglądarki w przeglądarkach opartych na chromium, w tym Przeglądarki Microsoft Edge i Google Chrome.
Nieobsługiwane scenariusze dla Blazor WebAssembly aplikacji obejmują:
- Ustawianie i usuwanie punktów przerwania.
- Uruchom aplikację z obsługą debugowania w środowiskach IDE.
- Jednoetapowy kod.
- Wznów wykonywanie kodu za pomocą skrótu klawiaturowego w środowiskach IDE.
- W oknie Ustawienia lokalne obserwuj wartości zmiennych lokalnych.
- Zobacz stos wywołań, w tym łańcuchy wywołań między językiem JavaScript i platformą .NET.
- Debugowanie w scenariuszach innych niż lokalne (na przykład Podsystem Windows dla systemu Linux (WSL) lub Visual Studio Codespaces.
- Użyj serwera symboli do debugowania.
Blazor Server aplikacje można debugować w programie Visual Studio lub Visual Studio Code.
Blazor WebAssembly aplikacje można debugować:
- W programie Visual Studio lub Visual Studio Code.
- Korzystanie z narzędzi deweloperskich przeglądarki w przeglądarkach opartych na chromium, w tym Przeglądarki Microsoft Edge i Google Chrome.
Nieobsługiwane scenariusze dla Blazor WebAssembly aplikacji obejmują:
- Ustawianie i usuwanie punktów przerwania.
- Uruchom aplikację z obsługą debugowania w środowiskach IDE.
- Jednoetapowy kod.
- Wznów wykonywanie kodu za pomocą skrótu klawiaturowego w środowiskach IDE.
- W oknie Ustawienia lokalne obserwuj wartości zmiennych lokalnych.
- Zobacz stos wywołań, w tym łańcuchy wywołań między językiem JavaScript i platformą .NET.
- Naciśnij punkty przerwania podczas uruchamiania aplikacji przed uruchomieniem serwera proxy debugowania. Obejmuje to punkty przerwania w pliku i punkty przerwania w
Program
OnInitialized{Async}
metodach cyklu życia składników ładowanych przez pierwszą stronę żądaną z aplikacji. - Debugowanie w scenariuszach innych niż lokalne (na przykład Podsystem Windows dla systemu Linux (WSL) lub Visual Studio Codespaces.
- Użyj serwera symboli do debugowania.
Wymagania wstępne
W tej sekcji opisano wymagania wstępne dotyczące debugowania.
Wymagania wstępne dotyczące przeglądarki
Najnowsza wersja następujących przeglądarek:
- Google Chrome
- Microsoft Edge
- Firefox (tylko narzędzia deweloperskie przeglądarki)
Debugowanie wymaga najnowszej wersji następujących przeglądarek:
- Google Chrome (ustawienie domyślne)
- Microsoft Edge
Upewnij się, że zapory lub serwery proxy nie blokują komunikacji z serwerem proxy debugowania (NodeJS
proces). Aby uzyskać więcej informacji, zobacz sekcję Konfiguracja zapory.
Uwaga
Przeglądarka Apple Safari w systemie macOS nie jest obecnie obsługiwana.
Wymagania wstępne dotyczące środowiska IDE
Wymagana jest najnowsza wersja programu Visual Studio lub Visual Studio Code.
Wymagania wstępne programu Visual Studio Code
Program Visual Studio Code wymaga zestawu Deweloperskiego języka C# dla programu Visual Studio Code (Wprowadzenie do języka C# w programie VS Code). W witrynie Marketplace rozszerzeń programu Visual Studio Code przefiltruj listę rozszerzeń za pomocą ciągu "c# dev kit
", aby zlokalizować rozszerzenie:
Zainstalowanie zestawu deweloperskiego języka C# powoduje automatyczne zainstalowanie następujących dodatkowych rozszerzeń:
Jeśli wystąpią ostrzeżenia lub błędy, możesz otworzyć problem (microsoft/vscode-dotnettools
repozytorium GitHub) opisujący problem.
Wymagania wstępne dotyczące konfiguracji aplikacji
Wskazówki zawarte w tej podsekcji dotyczą debugowania po stronie klienta.
Properties/launchSettings.json
Otwórz plik projektu startowego. Potwierdź obecność następującej inspectUri
właściwości w każdym profilu uruchamiania węzła profiles
pliku. Jeśli następująca właściwość nie jest obecna, dodaj ją do każdego profilu:
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
Właściwość inspectUri
:
- Umożliwia środowisku IDE wykrywanie, że aplikacja jest aplikacją Blazor .
- Instruuje infrastrukturę debugowania skryptu w celu nawiązania połączenia z przeglądarką za pośrednictwem Blazorserwera proxy debugowania.
Wartości zastępcze protokołu WebSocket (), hosta (wsProtocol
url.hostname
), portu (url.port
) i identyfikatora URI inspektora w uruchomionej przeglądarce (browserInspectUri
) są udostępniane przez platformę.
Pakiety
Blazor Web Apps: : Microsoft.AspNetCore.Components.WebAssembly.Server
odwołuje się do pakietu wewnętrznego (Microsoft.NETCore.BrowserDebugHost.Transport
) dla zestawów, które współużytkuje hosta debugowania przeglądarki.
Blazor Server: Microsoft.AspNetCore.Components.WebAssembly.Server
odwołuje się do pakietu wewnętrznego (Microsoft.NETCore.BrowserDebugHost.Transport
) dla zestawów, które współużytkuje hosta debugowania przeglądarki.
Blazor WebAssemblyAutonomiczny: : Microsoft.AspNetCore.Components.WebAssembly.DevServer
serwer deweloperów do użycia podczas kompilowania Blazor aplikacji. Wywołuje UseWebAssemblyDebugging wewnętrznie, aby dodać oprogramowanie pośredniczące do debugowania Blazor WebAssembly aplikacji wewnątrz narzędzi deweloperskich Chromium.
Hostowany zestaw Blazor WebAssembly:
- Client project: :
Microsoft.AspNetCore.Components.WebAssembly.DevServer
Serwer deweloperów do użycia podczas kompilowania Blazor aplikacji. Wywołuje UseWebAssemblyDebugging wewnętrznie, aby dodać oprogramowanie pośredniczące do debugowania Blazor WebAssembly aplikacji wewnątrz narzędzi deweloperskich Chromium. - Server project: :
Microsoft.AspNetCore.Components.WebAssembly.Server
odwołuje się do pakietu wewnętrznego (Microsoft.NETCore.BrowserDebugHost.Transport
) dla zestawów, które współużytkuje hosta debugowania przeglądarki.
Uwaga
Aby uzyskać instrukcje dodawania pakietów do aplikacji .NET, zobacz artykuły w sekcji Instalowanie pakietów i zarządzanie nimi w temacie Przepływ pracy użycia pakietów (dokumentacja programu NuGet). Sprawdź prawidłowe wersje pakietów pod adresem NuGet.org.
Debugowanie elementu Blazor Web App w środowisku IDE
W przykładzie w tej sekcji założono, że utworzono Blazor Web App obiekt z interaktywnym trybem renderowania auto (serwer i zestaw WebAssembly) oraz lokalizacją interakcyjności poszczególnych składników.
- Otwórz aplikację.
- Ustaw punkt przerwania w
currentCount++;
wierszu w składnikuCounter
(Pages/Counter.razor
) projektu klienta (.Client
). - Po wybraniu projektu serwera w Eksplorator rozwiązań naciśnij F5, aby uruchomić aplikację w debugerze.
- W przeglądarce przejdź do
Counter
strony pod adresem/counter
. Poczekaj kilka sekund na załadowanie i uruchomienie serwera proxy debugowania. Wybierz przycisk Kliknij mnie, aby nacisnąć punkt przerwania. - W programie Visual Studio sprawdź wartość
currentCount
pola w oknie Ustawienia lokalne . - Naciśnij F5 , aby kontynuować wykonywanie.
Punkty przerwania można również trafić w projekcie serwera w statycznie renderowanych i interaktywnie renderowanych składnikach po stronie serwera.
- Zatrzymaj debuger.
- W aplikacji serwera otwórz statycznie renderowany
Weather
składnik (Components/Pages/Weather.razor
) i ustaw punkt przerwania w dowolnym miejscu w metodzieOnInitializedAsync
. - Naciśnij F5 , aby uruchomić aplikację w debugerze.
- W przeglądarce przejdź do
Weather
strony pod adresem/weather
. Poczekaj kilka sekund na załadowanie i uruchomienie serwera proxy debugowania. Wykonywanie aplikacji zatrzymuje się w punkcie przerwania. - Naciśnij F5 , aby kontynuować wykonywanie.
Punkty przerwania nie są osiągane podczas uruchamiania aplikacji przed uruchomieniem serwera proxy debugowania. Obejmuje to punkty przerwania w pliku i punkty przerwania w Program
OnInitialized{Async}
metodach cyklu życia składników ładowanych przez pierwszą stronę żądaną z aplikacji.
Debugowanie Blazor Server aplikacji w środowisku IDE
- Otwórz aplikację.
- Ustaw punkt przerwania
currentCount++;
w wierszu w składnikuCounter
(Pages/Counter.razor
). - Naciśnij F5 , aby uruchomić aplikację w debugerze.
- W przeglądarce przejdź do
Counter
strony pod adresem/counter
. Poczekaj kilka sekund na załadowanie i uruchomienie serwera proxy debugowania. Wybierz przycisk Kliknij mnie, aby nacisnąć punkt przerwania. - W programie Visual Studio sprawdź wartość
currentCount
pola w oknie Ustawienia lokalne . - Naciśnij F5 , aby kontynuować wykonywanie.
Punkty przerwania nie są osiągane podczas uruchamiania aplikacji przed uruchomieniem serwera proxy debugowania. Obejmuje to punkty przerwania w pliku i punkty przerwania w Program
OnInitialized{Async}
metodach cyklu życia składników ładowanych przez pierwszą stronę żądaną z aplikacji.
Debugowanie Blazor WebAssembly aplikacji w środowisku IDE
- Otwórz aplikację.
- Ustaw punkt przerwania
currentCount++;
w wierszu w składnikuCounter
(Pages/Counter.razor
). - Naciśnij F5 , aby uruchomić aplikację w debugerze.
- W przeglądarce przejdź do
Counter
strony pod adresem/counter
. Poczekaj kilka sekund na załadowanie i uruchomienie serwera proxy debugowania. Wybierz przycisk Kliknij mnie, aby nacisnąć punkt przerwania. - W programie Visual Studio sprawdź wartość
currentCount
pola w oknie Ustawienia lokalne . - Naciśnij F5 , aby kontynuować wykonywanie.
Punkty przerwania nie są osiągane podczas uruchamiania aplikacji przed uruchomieniem serwera proxy debugowania. Obejmuje to punkty przerwania w pliku i punkty przerwania w Program
OnInitialized{Async}
metodach cyklu życia składników ładowanych przez pierwszą stronę żądaną z aplikacji.
Debugowanie hostowanej Blazor WebAssembly aplikacji w środowisku IDE
Po wybraniu Server projektu w Eksplorator rozwiązań naciśnij F5, aby uruchomić aplikację w debugerze.
Podczas debugowania przy użyciu przeglądarki opartej na chromium, takiej jak Google Chrome lub Microsoft Edge, nowe okno przeglądarki może zostać otwarte z oddzielnym profilem sesji debugowania zamiast otwierania karty w istniejącym oknie przeglądarki z profilem użytkownika. Jeśli debugowanie przy użyciu profilu użytkownika jest wymagane, zastosuj jedną z następujących metod:
- Zamknij wszystkie otwarte wystąpienia przeglądarki przed naciśnięciem F5 , aby rozpocząć debugowanie.
- Skonfiguruj program Visual Studio, aby uruchomić przeglądarkę przy użyciu profilu użytkownika. Aby uzyskać więcej informacji na temat tego podejścia, zobacz Blazor Debugowanie WASM w programie VS uruchamia przeglądarkę Edge z oddzielnym katalogiem danych użytkownika (dotnet/aspnetcore #20915).
W projekcie Client ustaw punkt przerwania w
currentCount++;
wierszu w składnikuCounter
(Pages/Counter.razor
).W przeglądarce przejdź do
Counter
strony pod adresem/counter
. Poczekaj kilka sekund na załadowanie i uruchomienie serwera proxy debugowania. Wybierz przycisk Kliknij mnie, aby nacisnąć punkt przerwania.W programie Visual Studio sprawdź wartość
currentCount
pola w oknie Ustawienia lokalne .Naciśnij F5 , aby kontynuować wykonywanie.
Możesz również debugować kod serwera w projekcie Server :
- Ustaw punkt przerwania na stronie w pliku
Pages/FetchData.razor
OnInitializedAsync. - Ustaw punkt przerwania w
WeatherForecastController
metodzieGet
akcji . - Przejdź do strony, aby przejść do
Fetch Data
pierwszego punktu przerwania w składnikuFetchData
tuż przed wydaniem żądania HTTP do serwera. - Naciśnij F5 , aby kontynuować wykonywanie, a następnie naciśnij punkt przerwania na serwerze w programie
WeatherForecastController
. - Naciśnij F5 ponownie, aby umożliwić kontynuowanie wykonywania i wyświetlenie tabeli prognozy pogody renderowanej w przeglądarce.
Punkty przerwania nie są osiągane podczas uruchamiania aplikacji przed uruchomieniem serwera proxy debugowania. Obejmuje to punkty przerwania w pliku i punkty przerwania w Program
OnInitialized{Async}
metodach cyklu życia składników ładowanych przez pierwszą stronę żądaną z aplikacji.
Nie można uruchomić bez debugowania [Ctrl+F5 (Windows) lub ⌘+F5 (macOS)] nie jest obsługiwane. Gdy aplikacja jest uruchamiana w konfiguracji debugowania, debugowanie zawsze powoduje zmniejszenie wydajności.
Dołączanie do istniejącej sesji debugowania programu Visual Studio Code
Aby dołączyć do uruchomionej Blazor aplikacji, otwórz .vscode/launch.json
plik i zastąp {URL}
symbol zastępczy adresem URL, pod którym działa aplikacja:
{
"name": "Attach and Debug",
"type": "blazorwasm",
"request": "attach",
"url": "{URL}"
}
Opcje uruchamiania programu Visual Studio Code
Opcje konfiguracji uruchamiania w poniższej tabeli są obsługiwane dla blazorwasm
typu debugowania (.vscode/launch.json
).
Opcja | Opis |
---|---|
browser |
Przeglądarka do uruchomienia na potrzeby sesji debugowania. Ustaw edge lub chrome . Wartość domyślna to edge . |
cwd |
Katalog roboczy do uruchamiania aplikacji w obszarze. |
request |
Służy launch do uruchamiania i dołączania sesji debugowania do Blazor WebAssembly aplikacji lub attach dołączania sesji debugowania do już uruchomionej aplikacji. |
timeout |
Liczba milisekund oczekiwania na dołączenie sesji debugowania. Wartość domyślna to 30 000 milisekund (30 sekund). |
trace |
Służy do generowania JS dzienników z debugera. Ustaw wartość na wartość , aby true wygenerować dzienniki. |
url |
Adres URL do otwarcia w przeglądarce podczas debugowania. |
webRoot |
Określa ścieżkę bezwzględną serwera internetowego. Należy ustawić, jeśli aplikacja jest obsługiwana z podkierowania. |
Dodatkowe opcje w poniższej tabeli dotyczą tylko aplikacji hostowanychBlazor WebAssembly.
Opcja | Opis |
---|---|
env |
Zmienne środowiskowe, które mają być dostępne dla uruchomionego procesu. Dotyczy tylko tego, jeśli hosted jest ustawiona wartość true . |
hosted |
W przypadku uruchamiania i debugowania hostowanej Blazor WebAssembly aplikacji należy ustawić true wartość na wartość . |
program |
Odwołanie do pliku wykonywalnego w celu uruchomienia serwera hostowanej aplikacji. Należy ustawić wartość , jeśli hosted ma wartość true . |
Debugowanie Blazor WebAssembly za pomocą przeglądarki Google Chrome lub Przeglądarki Microsoft Edge
Wskazówki w tej sekcji dotyczą aplikacji debugowania Blazor WebAssembly w:
- Przeglądarka Google Chrome uruchomiona w systemie Windows lub macOS.
- *Przeglądarka Microsoft Edge uruchomiona w systemie Windows.
Uruchom aplikację w powłoce poleceń za pomocą
dotnet watch
polecenia (lubdotnet run
).Uruchom przeglądarkę i przejdź do adresu URL aplikacji.
Rozpocznij debugowanie zdalne, naciskając:
- Shift+Alt+d w systemie Windows.
- Shift+⌘+d w systemie macOS.
Przeglądarka musi być uruchomiona z włączonym debugowaniem zdalnym, co nie jest domyślne. Jeśli debugowanie zdalne jest wyłączone, zostanie renderowana strona błędu karty Nie można odnaleźć debugowalnej karty przeglądarki z instrukcjami dotyczącymi uruchamiania przeglądarki z otwartym portem debugowania. Postępuj zgodnie z instrukcjami przeglądarki.
Po wykonaniu instrukcji umożliwiających zdalne debugowanie aplikacja zostanie otwarta w nowym oknie przeglądarki. Rozpocznij debugowanie zdalne, naciskając kombinację HotKey w nowym oknie przeglądarki:
- Shift+Alt+d w systemie Windows.
- Shift+⌘+d w systemie macOS.
Zostanie otwarta nowa karta przeglądarki narzędzi deweloperskich narzędzi dla deweloperów z wyświetlonym obrazem upiornym aplikacji.
Uwaga
Jeśli wykonano instrukcje otwierania nowej karty przeglądarki z włączonym debugowaniem zdalnym, możesz zamknąć oryginalne okno przeglądarki, pozostawiając drugie okno otwarte przy użyciu pierwszej karty z uruchomioną aplikacją i drugą kartą z uruchomionym debugerem.
Po chwili na karcie Źródła zostanie wyświetlona lista zestawów i stron platformy .NET aplikacji.
file://
Otwórz węzeł. W kodzie składnika (.razor
plikach) i plikach kodu C# (.cs
) punkty przerwania ustawione są osiągane po wykonaniu kodu na karcie przeglądarki aplikacji (początkowa karta otwarta po rozpoczęciu debugowania zdalnego). Po osiągnięciu punktu przerwania pojedynczy krok (F10) za pośrednictwem kodu lub wznowienia (F8) wykonywania kodu zwykle na karcie debugowania.
W przypadku debugowania przeglądarki opartego na chromium udostępnia serwer proxy debugowania, Blazor który implementuje protokół Chrome DevTools i rozszerza protokół za pomocą polecenia . Informacje specyficzne dla platformy NET. Po naciśnięciu Blazor skrótu klawiaturowego debugowania program Chrome DevTools wskazuje serwer proxy. Serwer proxy łączy się z oknem przeglądarki, które chcesz debugować (stąd potrzeba włączenia debugowania zdalnego).
Debugowanie aplikacji za Blazor WebAssembly pomocą przeglądarki Firefox
Wskazówki zawarte w tej sekcji dotyczą aplikacji debugowania Blazor WebAssembly w przeglądarce Firefox działającej w systemie Windows.
Debugowanie aplikacji za Blazor WebAssembly pomocą przeglądarki Firefox wymaga skonfigurowania przeglądarki na potrzeby zdalnego debugowania i nawiązywania połączenia z przeglądarką przy użyciu narzędzi deweloperskich przeglądarki za pośrednictwem serwera proxy debugowania zestawu WebAssembly platformy .NET.
Uwaga
Debugowanie w programie Firefox z poziomu programu Visual Studio nie jest obecnie obsługiwane.
Aby debugować aplikację Blazor WebAssembly w przeglądarce Firefox podczas programowania:
- Skonfiguruj przeglądarkę Firefox:
- Otwórz
about:config
w nowej karcie przeglądarki. Przeczytaj i odrzuć wyświetlone ostrzeżenie. - Włącz
devtools.debugger.remote-enabled
, ustawiając jego wartość naTrue
. - Włącz
devtools.chrome.enabled
, ustawiając jego wartość naTrue
. - Wyłącz
devtools.debugger.prompt-connection
, ustawiając jego wartość naFalse
.
- Otwórz
- Zamknij wszystkie wystąpienia przeglądarki Firefox.
- Uruchom aplikację w powłoce poleceń za pomocą
dotnet watch
polecenia (lubdotnet run
). - Uruchom ponownie przeglądarkę Firefox i przejdź do aplikacji.
- Otwórz
about:debugging
w nowej karcie przeglądarki. Pozostaw tę kartę otwartą. - Wróć do karty, na której działa aplikacja. Rozpocznij debugowanie zdalne, naciskając Shift+Alt+d.
Debugger
Na karcie otwórz plik źródłowy aplikacji, który chcesz debugować w węźlefile://
i ustaw punkt przerwania. Na przykład ustaw punkt przerwania wcurrentCount++;
wierszu wIncrementCount
metodzieCounter
składnika (Pages/Counter.razor
).- Przejdź do
Counter
strony składnika (/counter
) na karcie przeglądarki aplikacji i wybierz przycisk licznika, aby przejść do punktu przerwania. - Naciśnij F5 , aby kontynuować wykonywanie na karcie debugowania.
Przerwij w nieobsługiwane wyjątki
Debuger nie przerywa obsługi nieobsługiwane wyjątki, ponieważ Blazor przechwytuje wyjątki nieobsługiwane przez kod dewelopera.
Aby przerwać w nieobsługiwane wyjątki:
- Otwórz ustawienia wyjątku debugera (Debuguj>ustawienia wyjątków systemu Windows>) w programie Visual Studio.
- Ustaw następujące ustawienia wyjątków języka JavaScript:
- Wszystkie wyjątki
- Wyjątki nieuchwycone
Mapy źródłowe przeglądarki
Mapy źródłowe przeglądarki umożliwiają przeglądarce mapowanie skompilowanych plików z powrotem na oryginalne pliki źródłowe i są często używane do debugowania po stronie klienta. Blazor Jednak obecnie nie mapuje języka C# bezpośrednio na język JavaScript/WASM. Zamiast tego, czy interpretacja IL w przeglądarce, Blazor więc mapy źródłowe nie są istotne.
Konfiguracja zapory
Jeśli zapora blokuje komunikację z serwerem proxy debugowania, utwórz regułę wyjątku zapory zezwalającą na komunikację między przeglądarką a procesem NodeJS
.
Ostrzeżenie
Aby uniknąć tworzenia luk w zabezpieczeniach, należy wprowadzić modyfikację konfiguracji zapory. Uważnie zastosuj wskazówki dotyczące zabezpieczeń, postępuj zgodnie z najlepszymi rozwiązaniami w zakresie zabezpieczeń i przestrzegaj ostrzeżeń wydanych przez producenta zapory.
Zezwalanie na otwartą komunikację z procesem NodeJS
:
- Otwiera serwer Node z dowolnym połączeniem, w zależności od możliwości i konfiguracji zapory.
- Może to być ryzykowne w zależności od sieci.
- Jest zalecana tylko na maszynach deweloperskich.
Jeśli to możliwe, zezwalaj tylko na otwartą komunikację z procesem NodeJS
w zaufanych lub prywatnych sieciach.
Aby uzyskać wskazówki dotyczące konfiguracji zapory systemu Windows, zobacz Tworzenie programu przychodzącego lub reguły usługi. Aby uzyskać więcej informacji, zobacz Zapora Windows Defender z zabezpieczeniami zaawansowanymi i powiązanymi artykułami w zestawie dokumentacji Zapory systemu Windows.
Rozwiązywanie problemów
Jeśli występują błędy, następujące porady mogą pomóc:
- Usuń punkty przerwania:
- Google Chrome: na karcie Debuger otwórz narzędzia deweloperskie w przeglądarce. W konsoli programu wykonaj polecenie
localStorage.clear()
, aby usunąć wszystkie punkty przerwania. - Microsoft Edge: na karcie Aplikacja otwórz magazyn lokalny. Kliknij prawym przyciskiem myszy witrynę i wybierz polecenie Wyczyść.
- Google Chrome: na karcie Debuger otwórz narzędzia deweloperskie w przeglądarce. W konsoli programu wykonaj polecenie
- Upewnij się, że zainstalowano i zaufano certyfikatowi programistycznego ASP.NET Core HTTPS. Aby uzyskać więcej informacji, zobacz Wymuszanie protokołu HTTPS w ASP.NET Core.
- Program Visual Studio wymaga opcji Włącz debugowanie języka JavaScript dla ASP.NET (Chrome i Edge) w obszarze Narzędzia>Opcje>Debugowanie>ogólne. Jest to ustawienie domyślne programu Visual Studio. Jeśli debugowanie nie działa, upewnij się, że wybrano opcję .
- Jeśli środowisko używa serwera proxy HTTP, upewnij się, że
localhost
jest on uwzględniony w ustawieniach obejścia serwera proxy. Można to zrobić, ustawiając zmiennąNO_PROXY
środowiskową w dowolnym z następujących elementów:launchSettings.json
Plik projektu.- Na poziomie zmiennych środowiskowych użytkownika lub systemu do zastosowania do wszystkich aplikacji. W przypadku używania zmiennej środowiskowej uruchom ponownie program Visual Studio, aby zmiany zaczęły obowiązywać.
- Upewnij się, że zapory lub serwery proxy nie blokują komunikacji z serwerem proxy debugowania (
NodeJS
proces). Aby uzyskać więcej informacji, zobacz sekcję Konfiguracja zapory.
Punkty przerwania w OnInitialized{Async}
nie trafieniu
Blazor Serwer proxy debugowania platformy nie uruchamia się natychmiast podczas uruchamiania aplikacji, więc punkty przerwania w OnInitialized{Async}
metodach cyklu życia mogą nie zostać trafione. Zalecamy dodanie opóźnienia na początku treści metody w celu nadania serwerowi proxy debugowania trochę czasu na uruchomienie przed trafieniem punktu przerwania. Opóźnienie można uwzględnić na if
podstawie dyrektywy kompilatora, aby upewnić się, że opóźnienie nie występuje w przypadku kompilacji wydania aplikacji.
protected override void OnInitialized()
{
#if DEBUG
Thread.Sleep(10000);
#endif
...
}
protected override async Task OnInitializedAsync()
{
#if DEBUG
await Task.Delay(10000);
#endif
...
}
Limit czasu programu Visual Studio (Windows)
Jeśli program Visual Studio zgłasza wyjątek, że nie można uruchomić karty debugowania, wskazując, że osiągnięto limit czasu, możesz dostosować limit czasu za pomocą ustawienia Rejestru:
VsRegEdit.exe set "<VSInstallFolder>" HKCU JSDebugger\Options\Debugging "BlazorTimeoutInMilliseconds" dword {TIMEOUT}
Symbol {TIMEOUT}
zastępczy w poprzednim poleceniu znajduje się w milisekundach. Na przykład jedna minuta jest przypisywana jako 60000
.