Uaktualnianie projektów SignalR 1.x do wersji 2
Autor : Patrick Fletcher
Ostrzeżenie
Ta dokumentacja nie jest przeznaczona dla najnowszej wersji usługi SignalR. Przyjrzyj się ASP.NET Core SignalR.
W tym temacie opisano sposób uaktualniania istniejącego projektu SignalR 1.x do usługi SignalR 2.x oraz sposobu rozwiązywania problemów, które mogą wystąpić podczas procesu uaktualniania.
Wersje oprogramowania używane w samouczku
- Visual Studio 2013
- .NET 4.5
- SignalR w wersji 1 i 2
Korzystanie z programu Visual Studio 2012 z tym samouczkiem
Aby użyć programu Visual Studio 2012 z tym samouczkiem, wykonaj następujące czynności:
- Zaktualizuj Menedżera pakietów do najnowszej wersji.
- Zainstaluj Instalatora platformy sieci Web.
- W Instalatorze platformy internetowej wyszukaj i zainstaluj ASP.NET and Web Tools 2013.1 dla programu Visual Studio 2012. Spowoduje to zainstalowanie szablonów programu Visual Studio dla klas SignalR, takich jak Hub.
- Niektóre szablony (takie jak klasa uruchamiania OWIN) nie będą dostępne; w przypadku nich należy zamiast tego użyć pliku Klasy.
Pytania i komentarze
Prześlij opinię na temat tego, jak podoba ci się ten samouczek i co możemy poprawić w komentarzach w dolnej części strony. Jeśli masz pytania, które nie są bezpośrednio związane z samouczkiem, możesz opublikować je na forum ASP.NET SignalR lub StackOverflow.com.
Usługa SignalR 2 oferuje spójne środowisko programistyczne na różnych platformach serwerowych przy użyciu OWIN. W tym artykule opisano kilka kroków wymaganych do zaktualizowania aplikacji SignalR 1.x do wersji 2.
Chociaż zaleca się uaktualnienie aplikacji do usługi SignalR 2, usługa SignalR 1.x będzie nadal obsługiwana.
W tym samouczku opisano sposób uaktualniania aplikacji hostowanej w internecie do usługi SignalR 2. Aplikacje hostowane samodzielnie (te, które hostują serwer w aplikacji konsolowej, usłudze systemu Windows lub innym procesie) są teraz obsługiwane w usłudze SignalR 2. Aby uzyskać informacje na temat rozpoczynania tworzenia aplikacji hostowanej samodzielnie za pomocą usługi SignalR 2, zobacz Samouczek: Samodzielny host usługi SignalR.
Zawartość
W poniższych sekcjach opisano zadania związane z uaktualnianiem projektów usługi SignalR oraz sposoby rozwiązywania problemów, które mogą wystąpić.
- Przykład: uaktualnianie samouczka Wprowadzenie do usługi SignalR 2
- Rozwiązywanie problemów napotkanych podczas uaktualniania
Przykład: uaktualnianie aplikacji samouczka Wprowadzenie do usługi SignalR 2
W tej sekcji zaktualizujesz aplikację utworzoną w wersji SignalR 1.x samouczka Wprowadzenie, aby korzystała z usługi SignalR 2.
Po zakończeniu samouczka Wprowadzenie kliknij prawym przyciskiem myszy projekt i wybierz pozycję Właściwości. Sprawdź, czy platforma docelowa jest ustawiona na .NET Framework 4.5.
Otwórz konsolę Menedżera pakietów. Usuń usługę SignalR 1.x z projektu przy użyciu następującego polecenia:
Uninstall-Package Microsoft.AspNet.SignalR -RemoveDependencies
Zainstaluj usługę SignalR 2 przy użyciu następującego polecenia:
Install-Package Microsoft.AspNet.SignalR
Na stronie HTML zaktualizuj odwołanie do skryptu dla usługi SignalR, aby dopasować wersję skryptu, która jest teraz uwzględniona w projekcie.
<!--Reference the SignalR library. --> <script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
W globalnej klasie aplikacji usuń wywołanie usługi MapHubs.
protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapHubs(); }
Kliknij prawym przyciskiem myszy rozwiązanie, a następnie wybierz pozycję Dodaj, Nowy element.... W oknie dialogowym wybierz pozycję Owin Startup Class (Klasa uruchamiania Owin). Nadaj nowej klasie nazwę Startup.cs.
Zastąp zawartość pliku Startup.cs następującym kodem:
using Microsoft.Owin; using Owin; [assembly: OwinStartup(typeof(SignalRChat.Startup))] namespace SignalRChat { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } }
Atrybut zestawu dodaje klasę do procesu uruchamiania Owina, który wykonuje metodę
Configuration
podczas uruchamiania Owin. Z kolei wywołuje metodęMapSignalR
, która tworzy trasy dla wszystkich centrów SignalR w aplikacji.Uruchom projekt i skopiuj adres URL strony głównej do innego okienka przeglądarki lub przeglądarki, tak jak poprzednio. Każda strona będzie prosić o nazwę użytkownika, a komunikaty wysyłane z każdej strony powinny być widoczne w obu okienkach przeglądarki.
Rozwiązywanie problemów napotkanych podczas uaktualniania
W tej sekcji opisano problemy, które mogą wystąpić podczas uaktualniania. Aby uzyskać bardziej kompleksową listę błędów i problemów, które mogą wystąpić w aplikacji SignalR, zobacz Rozwiązywanie problemów z usługą SignalR.
"Wywołanie jest niejednoznaczne między następującymi metodami lub właściwościami"
Ten błąd wystąpi, jeśli odwołanie do Microsoft.AspNet.SignalR.Owin
nie zostanie usunięte. Ten pakiet jest przestarzały; odwołanie musi zostać usunięte, a należy odinstalować wersję 1.x pakietu SelfHost.
Metody koncentratora kończą się niepowodzeniem w trybie dyskretnym
Sprawdź, czy odwołania do skryptu w kliencie są aktualne i czy OwinStartup
atrybut klasy Startup ma poprawne nazwy klas i zestawów dla projektu. Spróbuj również otworzyć adres koncentratora (/signalr/hubs) w przeglądarce; wszelkie wyświetlane błędy będą zawierać więcej informacji o tym, co się dzieje nie tak.