Upgradování projektů SignalR 1.x na verzi 2

Patrick Fletcher

Upozornění

Tato dokumentace není určená pro nejnovější verzi služby SignalR. Podívejte se na ASP.NET Core SignalR.

Toto téma popisuje, jak upgradovat existující projekt SignalR 1.x na SignalR 2.x a jak řešit problémy, ke kterým může dojít během procesu upgradu.

Verze softwaru použité v kurzu

Použití sady Visual Studio 2012 v tomto kurzu

Pokud chcete v tomto kurzu použít Visual Studio 2012, postupujte takto:

  • Aktualizujte Správce balíčků na nejnovější verzi.
  • Nainstalujte instalační program webové platformy.
  • V instalačním programu webové platformy vyhledejte a nainstalujte ASP.NET and Web Tools 2013.1 pro Visual Studio 2012. Tím se nainstalují šablony sady Visual Studio pro třídy SignalR, jako je Například Hub.
  • Některé šablony (například OWIN Startup Class) nebudou k dispozici; místo nich použijte soubor třídy.

Dotazy a komentáře

V komentářích v dolní části stránky nám napište, jak se vám tento kurz líbil a co bychom mohli zlepšit. Pokud máte dotazy, které nesouvisejí přímo s kurzem, můžete je publikovat na fóru ASP.NET SignalR nebo StackOverflow.com.

SignalR 2 nabízí konzistentní prostředí pro vývoj napříč serverovými platformami pomocí OWIN. Tento článek popisuje několik kroků potřebných k aktualizaci aplikace SignalR 1.x na verzi 2.

I když se doporučuje upgradovat aplikace na SignalR 2, signalR 1.x bude i nadále podporován.

Tento kurz popisuje, jak upgradovat aplikaci hostovanou na web na SignalR 2. Aplikace v místním prostředí (ty, které hostují server v konzolové aplikaci, službě Windows nebo jiném procesu) jsou nyní podporovány v rámci signalR 2. Informace o tom, jak začít vytvářet aplikaci v místním prostředí pomocí SignalR 2, najdete v tématu Kurz: SignalR Self-Host.

Obsah

Následující části popisují úlohy související s upgradem projektů SignalR a řešení potíží, které mohou nastat.

Příklad: Upgrade aplikace kurzu Začínáme na SignalR 2

V této části aktualizujete aplikaci vytvořenou ve verzi SignalR 1.x Začínáme kurzu tak, aby používala SignalR 2.

  1. Po dokončení Začínáme kurzu klikněte pravým tlačítkem na projekt a vyberte Vlastnosti. Ověřte, že cílová architektura je nastavena na .NET Framework 4.5.

  2. Otevřete konzolu Správce balíčků. Pomocí následujícího příkazu odeberte z projektu signalR 1.x:

    Uninstall-Package Microsoft.AspNet.SignalR -RemoveDependencies
    
  3. Nainstalujte SignalR 2 pomocí následujícího příkazu:

    Install-Package Microsoft.AspNet.SignalR
    
  4. Na stránce HTML aktualizujte referenční informace ke skriptům pro SignalR tak, aby odpovídaly verzi skriptu, který je teď součástí projektu.

    <!--Reference the SignalR library. -->
    <script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
    
  5. V globální třídě aplikace odeberte volání MapHubs.

    protected void Application_Start(object sender, EventArgs e)
    {
        RouteTable.Routes.MapHubs();
    }
    
  6. Klikněte pravým tlačítkem na řešení a vyberte Přidat, Nová položka.... V dialogovém okně vyberte Owin Startup Class (Spouštěcí třída Owin). Pojmenujte novou třídu Startup.cs.

    Snímek obrazovky s dialogovým oknem Přidat novou položku Je vybrána třída OWIN Startup a v poli Název je počáteční tečka C S.

  7. Nahraďte obsah souboru Startup.cs následujícím kódem:

    using Microsoft.Owin;
    using Owin;
    
    [assembly: OwinStartup(typeof(SignalRChat.Startup))]
    namespace SignalRChat
    {
       
        public class Startup
        {
            public void Configuration(IAppBuilder app)
            {
                app.MapSignalR();
            }
        }
    }
    

    Atribut sestavení přidá třídu do spouštěcího procesu Owin, který spustí metodu Configuration při spuštění Owin. To zase volá metodu , MapSignalR která vytváří trasy pro všechna centra SignalR v aplikaci.

  8. Spusťte projekt a jako předtím zkopírujte adresu URL hlavní stránky do jiného prohlížeče nebo podokna prohlížeče. Každá stránka bude žádat o uživatelské jméno a zprávy odeslané z každé stránky by měly být viditelné v obou podoknech prohlížeče.

Řešení chyb zjištěných během upgradu

Tato část popisuje problémy, ke kterým může dojít během upgradu. Podrobnější seznam chyb a problémů, ke kterým může dojít u aplikace SignalR, najdete v tématu Řešení potíží se službou SignalR.

"Volání je nejednoznačné mezi následujícími metodami nebo vlastnostmi"

K této chybě dojde v případě, že odkaz na Microsoft.AspNet.SignalR.Owin není odebrán. Tento balíček je zastaralý. Odkaz musí být odebrán a verze 1.x balíčku SelfHost musí být odinstalována.

Metody centra selhávají bezobslužně

Ověřte, že odkazy na skripty v klientovi jsou aktuální a že OwinStartup atribut třídy Startup má správné názvy tříd a sestavení pro váš projekt. Zkuste také otevřít adresu rozbočovačů (/signalr/hubs) v prohlížeči; Jakákoli chyba, která se zobrazí, vám nabídne další informace o tom, co se děje.