rychlý start: vytvoření chatovací místnosti pomocí služby ASP.NET a služby signal

služba signalizace Azure je založená na nástroji signal pro ASP.NET Core 2,1, což není 100% kompatibilní s ASP.NETm signálem. služba signalizace Azure znovu implementovala ASP.NET protokol dat signálu na základě nejnovějších technologií ASP.NET Core. při použití služby signalizace azure pro ASP.NET signalizace už některé funkce ASP.NET signalizace nejsou podporované, například služba Azure signal nehraje zprávy, když se klient znovu připojí. Také přenos snímků navždy a JSONP nejsou podporovány. aby mohla aplikace ASP.NET signalizace pracovat se službou signal, je nutné provést některé změny kódu a správnou verzi závislých knihoven.

úplný seznam porovnání funkcí mezi ASP.NETovým signálem a ASP.NET Corem signálem naleznete v dokumentu rozdíly v verzích .

v tomto rychlém startu se naučíte, jak začít s ASP.NET a službou Azure signaler pro podobnou aplikaci chatovací místnosti.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Požadavky

Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.

Přihlášení k Azure

Přihlaste se k webu Azure Portal pomocí svého účtu Azure.

Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.

Vytvoření instance služby Azure SignalR Service

Vaše aplikace se připojí k instanci služby SignalR Service v Azure.

  1. Vyberte tlačítko Nový v levém horním rohu portálu Azure Portal. Do vyhledávacího pole na obrazovce Nový zadejte SignalR Service a stiskněte klávesu Enter.

    Snímek obrazovky ukazuje hledání služby signalizace v Azure Portal.

  2. Ve výsledcích hledání vyberte SignalR Service a pak vyberte Vytvořit.

  3. Zadejte následující nastavení.

    Nastavení Navrhovaná hodnota Popis
    Název prostředku Globálně jedinečný název Název, který identifikuje novou instanci služby SignalR Service. Platné znaky jsou a-z, 0-9 a -.
    Předplatné Vaše předplatné Předplatné, ve kterém se nová instance služby SignalR Service vytvoří.
    Skupina prostředků myResourceGroup Název nové skupiny prostředků, ve které se má instance služby SignalR Service vytvořit.
    Umístění USA – západ Vyberte oblast , která je blízko vás.
    Cenová úroveň Free Vyzkoušejte si službu Azure SignalR Service zdarma.
    Počet jednotek Neuvedeno Počet jednotek určuje, kolik připojení může instance služby SignalR Service přijmout. To lze nakonfigurovat jen na úrovni Standard.
    Režim služby Bez serveru Pro použití s Azure Functions nebo REST API.

    Snímek obrazovky znázorňující kartu základy signálu s hodnotami.

  4. Pokud chcete začít nasazovat instanci služby SignalR Service, vyberte Vytvořit.

  5. Po nasazení instance ho otevřete na portálu a najděte jeho stránku nastavení. Nastavte režim služby na možnost bez serveru jenom v případě, že používáte službu Azure Signal service prostřednictvím Azure Functions vazby nebo REST API. V opačném případě je ponechte v klasickém nebo výchozím nastavení .

režim bez serveru není pro aplikace ASP.NET signalizace podporován. Pro instanci služby signalizace Azure vždy použijte výchozí nebo klasický .

Prostředky Azure používané v tomto rychlém startu můžete vytvořit také pomocí skriptu vytvořit skript služby Signal.

Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.

Klonování ukázkové aplikace

Zatímco probíhá nasazování služby, pojďme se podívat na práci s kódem. Naklonujte ukázkovou aplikaci z GitHubu, nastavte připojovací řetězec služby SignalR Service a spusťte aplikaci místně.

  1. Otevřete okno terminálu Git. Přejděte do složky, kam chcete klonovat ukázkový projekt.

  2. Ukázkové úložiště naklonujete spuštěním následujícího příkazu. Tento příkaz vytvoří na vašem počítači kopii ukázkové aplikace.

    git clone https://github.com/aspnet/AzureSignalR-samples.git
    

Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.

Konfigurace a spuštění webové aplikace chatovací místnosti

  1. spusťte Visual Studio a otevřete řešení ve složce aspnet-samples/ChatRoom/ folder klonovaného úložiště.

  2. V prohlížeči, kde je otevřený Azure Portal, najděte a vyberte instanci, kterou jste vytvořili.

  3. Výběrem možnosti Klíče zobrazte připojovací řetězce instance služby SignalR.

  4. Vyberte a zkopírujte primární připojovací řetězec.

  5. Nyní nastavte připojovací řetězec v souboru web.config .

    <configuration>
    <connectionStrings>
        <add name="Azure:SignalR:ConnectionString" connectionString="<Replace By Your Connection String>"/>
    </connectionStrings>
    ...
    </configuration>
    
  6. V Startup. cs se místo volání MapSignalR() vyžaduje volání MapAzureSignalR({YourApplicationName}) a předání připojovacího řetězce, aby se aplikace připojovala ke službě místo samotného hostitelského signálu. Nahraďte {YourApplicationName} názvem vaší aplikace. Tento název je jedinečný název, který rozlišuje tuto aplikaci od ostatních aplikací. Můžete použít this.GetType().FullName jako hodnotu.

    public void Configuration(IAppBuilder app)
    {
        // Any connection or hub wire up and configuration should go here
        app.MapAzureSignalR(this.GetType().FullName);
    }
    

    Před použitím těchto rozhraní API se také musíte odkazovat na sadu SDK služby. Otevřete nástroje | NuGet Správce balíčků | Správce balíčků konzolu a příkaz spustit:

    Install-Package Microsoft.Azure.SignalR.AspNet
    

    Kromě těchto změn zůstane vše ostatní, ale stále je možné používat rozhraní rozbočovače, které už znáte, a vytvořit obchodní logiku.

    Poznámka

    V implementaci /signalr/negotiate je vystavený koncový bod pro vyjednávání pomocí sady SDK služby Azure Signal. Při pokusu klienta o připojení a přesměrování klientů na koncový bod služby definovaný v připojovacím řetězci vrátí speciální odpověď na vyjednávání.

  7. Stisknutím klávesy F5 spusťte projekt v režimu ladění. Můžete vidět, že se aplikace spouští místně. Místo hostování modulu runtime signálu pomocí samotné aplikace se nyní připojí ke službě Azure Signal.

Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.

Vyčištění prostředků

Pokud nebudete tuto aplikace nadále používat, odstraňte na základě následujícího postupu všechny prostředky vytvořené podle tohoto rychlého startu, aby se vám neúčtovaly žádné poplatky:

  1. Úplně nalevo na webu Azure Portal vyberte Skupiny prostředků a pak vyberte skupinu prostředků, kterou jste vytvořili. Případně můžete použít vyhledávací pole a skupinu prostředků vyhledat podle jejího názvu.

  2. V okně, které se otevře, vyberte příslušnou skupinu prostředků a pak klikněte na Odstranit skupinu prostředků.

  3. V novém okně zadejte název skupiny prostředků, kterou chcete odstranit, a pak klikněte na Odstranit.

Důležité

Odstranění skupiny prostředků je nevratné a skupina prostředků včetně všech v ní obsažených prostředků bude trvale odstraněna. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro hostování této ukázky ve stávající skupině prostředků obsahující prostředky, které chcete zachovat, můžete místo odstranění skupiny prostředků odstranit jednotlivé prostředky z jejich odpovídajících oken.

Přihlaste se na web Azure Portal a klikněte na Skupiny prostředků.

Do textového pole Filtrovat podle názvu zadejte název vaší skupiny prostředků. V pokynech v tomto rychlém startu se používala skupina prostředků SignalRTestResources. Ve výsledcích hledání klikněte na ... u vaší skupiny prostředků a pak na Odstranit skupinu prostředků.

Odstranit

Po chvíli bude skupina prostředků včetně všech obsažených prostředků odstraněná.

Máte problémy? Vyzkoušejte si příručku pro odstraňování potíží nebo dejte námprosím o tom.

Další kroky

v tomto rychlém startu jste vytvořili nový prostředek služby signalizace Azure a použili ho v ASP.NET webové aplikaci. V dalším kroku se naučíte vyvíjet aplikace v reálném čase pomocí služby Azure Signal Service pomocí ASP.NET Core.