Správa relací vzdáleného vykreslování

Dokončeno

Azure Remote Rendering poskytuje rozhraní REST API pro správu relací ke správě interakcí s cloudovým serverem a dotazování informací o relacích vzdáleného vykreslování. V jazyce C# a C++ můžete vytvářet, aktualizovat a zastavovat relace prostřednictvím tříd RemoteRenderingClient a RenderingSession tříd. Tato lekce popisuje, jak spravovat relace vzdáleného vykreslování.

Vytvoření relace

Vytvoření relace vyžaduje následující příkaz.

Invoke-WebRequest -Uri "$endPoint/v1/accounts/$accountId/sessions/create" -Method Post -ContentType "application/json" -Body "{ 'maxLeaseTime': '4:0:0', 'models': [], 'size': 'standard' }" -Headers @{ Authorization = "Bearer $token" }

Při vytváření nové relace použijete maxLeaseTime parametr k určení maximální doby zapůjčení, obvykle v rozsahu od 1 do osmi hodin. Maximální doba zapůjčení je doba trvání, během které hostitel přijímá vstup. V případě potřeby můžete prodloužit dobu zapůjčení aktivní relace.

Odpověď z požadavku vrátí sessionIdodpověď, která umožňuje dotazovat se na informace o relaci. Toto UUID a některé základní informace o relaci se uchovávají po dobu 30 dnů, takže se můžete dotazovat na informace i po zastavení relace.

Připojení k relaci

Jakmile je relace připravená, klientské zařízení se k ní může připojit a může odesílat příkazy pro načtení a úpravy modelů. Když RenderingSession.IsConnected je true, RenderingSession.Connection vrátí instanci RenderingConnection, která obsahuje funkce pro načtení modelů, manipulovat s entitami a dotazovat informace o vykreslené scéně.

V jedné aplikaci můžete vytvářet, sledovat a vypínat tolik relací, kolik potřebujete, ale současně se k relaci vzdáleného vykreslování může připojit jenom jedno zařízení. Pokusy o připojení k relaci jinými zařízeními selžou. Jiné zařízení se může připojit až po zastavení relace.

Vzhledem k tomu, že hostitel vzdáleného vykreslování obsluhuje současně pouze jedno klientské zařízení, má klient připojený k relaci výhradní kontrolu nad vykreslovaným obsahem. Jediné připojení klienta také znamená, že výkon vykreslování se nikdy nes různí z důvodů mimo vaši kontrolu.

Zastavení relace

Relace se zastaví, když vyprší maximální doba zapůjčení nebo relaci zastavíte ručně. Pokud chcete relaci zastavit ručně, můžete volat RenderingSession.StopAsync. Relace se může také zastavit kvůli nějaké chybě. Jakmile se relace zastaví, už se vám nic neúčtuje a všechny předchozí stavy, jako jsou načtené modely, se zahodí.

Po zastavení relace můžete pomocí příkazu RenderingSession.SessionUuid(). Aplikace může volat RemoteRenderingClient.OpenRenderingSessionAsync s ID relace a svázat ji s danou relací a uložit ji místně do mezipaměti.