Wymagania: Jak WebView2 może renderować i wyświetlać zasoby sieciowe dla działań użytkownika, jak interfejs webowy może komunikować się z aplikacją WinForm? Na przykład sieć czyta informacje sprzętowe przez aplikację, a aplikacja aktywnie odświeża zawartość strony internetowej.
Recenzja:
Najpierw spójrz na wizualizacje komunikacji między siecią a aplikacją WinForm – web wysyła wiadomość do aplikacji,Wywołaj funkcję Kalkulator, która otwiera system WindowsJednocześnie aplikacja może również skutecznie odbierać wiadomości wysyłane na stronę internetową, jak pokazano na poniższym rysunku:
Komunikacja między hostem a treściami webowymi
Hosty i treści internetowe mogą być używane do komunikacji między sobą w postMessages, w następujący sposób:
- Zawartość internetowa w sterce WebView2 może być użyta do publikacji wiadomości do hosta w windows.chrome.webview.postMessage. Host przetwarza wiadomość wraz z każdą wiadomością, która rejestruje WebMessageReceived na hostze.
- Host publikuje wiadomości do treści internetowej w sterowaniu WebView2 CoreWebView2.PostWebMessageAsString, używając lub CoreWebView2.PostWebMessageAsJSON. Te wiadomości są przechwytywane przez obsługę dodaną do windows.chrome.webview.addEventListener.
Stwórz nowy projekt SPA w Angular
Ten artykuł wykorzystuje Angular 8.2.14 do stworzenia nowego projektu webowego, który demonstruje komunikację między siecią a aplikacją WinForm.
Kod jest następujący:
Jednocześnie modyfikuj pliki app.component.html i app.component.ts, aby realizować funkcje wysyłania i odbierania wiadomości.
app.component.html kod jest następujący:
app.component.ts kod wygląda następująco:
Prowadź projekt zgodnie z poniższymi wskazówkami:
Aplikacja WinForm
Aplikacja hosta musi zmodyfikować kod w następujący sposób:
Zmodyfikuj kontrolkę WebView2Atrybut źródłowy to: http://localhost:4200/Aby uruchomić aplikację, jak pokazano poniżej:
Na koniec spróbuj wysyłać wiadomości do siebie za pomocą aplikacji Web i WinForm, a zobaczysz, że obie strony mogą skutecznie je odbierać, jak pokazano na poniższym rysunku:
(Koniec)
|