Blazor 8 WASM a lokalizacia

Ahojte, mam problem z .NET 8 Blazor WebAssembly interactive sablonov.

Robim aplikaciu, ktora intenzivne komunikuje s localhostovymi websoketmi, takze potrebujem aby sa kod spustal vo webassembly iba u klienta. Doteraz to bolo jasne, Blazor Server na serveri, WASM na klientovi. Ale teraz mame automaticky prerendering.

Moj prvy problem je s lokalizaciou, resx subory mam v klientskom projekte, ale server ich pri prerenderingu nevidi, co s tym?

Druha otazka, da sa nejako riesit, aby sa ovladacie prvky zobrazili az po nabehnuti WebAssembly? Viem, ze .NET 9 na to ma byt properiesa, ktora hovori o mode renderingu - bude mi stacit OnInitialized?

  1. WASM vs Server:
    ono na tom v podstate nezalezi, s localhostovymi websocketmi musit tak ci tak komunikovat nejakym vlastnym javascriptom a predpokladam ze pouzivas blazoracky JS Interop na spracovanie tych dat v Blazor aplikacii.
    WASM ti akurat usetri roadtrip na server a spat v porovnani s Blazor Server, ale samotny kod by mal byt rovnaky. Oprav ma aj sa mylim.

  2. resx subory v preredneringu:
    s tym ti zial nepomozem.

  3. ovladacie prvky az po nabehnuti WebAssembly.
    Detekovat prerender mod vo WASM projekte mozes momentalne takto: bool isPrerendering = RuntimeInformation.ProcessArchitecture != Architecture.Wasm;

  1. Mne na tom zalezi skor z dovodu, ze niektore data z klienta sa nesmu dostat na server, ine zas musia. Preto ich prenos s WASM musim riesit cez REST API. Viem, ze v beznej aplikacii to velmi riesit nemusim a riesim okrajovy pripad (v tomto mi vyovovali stare templaty, lebo som presne vedel, co kde je).
  2. Ked na daco pridem, dam vediet.
  3. Vdaka, vyskusam to.
  1. Ono to funguje, len treba mat nastavenu spravny jazyk vo vlakne.
  2. Funguje perfektne.