Zgodnie z potrzebami projektu, do przesyłania danych powinny być używane websockety, dlatego należy używać SignalR, ponieważ SignalR wymaga frameworka .net 4.5
Wystarczy kliknąć prawym przyciskiem na atrybuty projektu i zmienić go na .net 4.5, a wszystko jest normalne po ponownym uruchomieniu.
Instalacja Nugeta:
Instalacja wygląda następująco:
Package Manager konsola host wersja 4.0.0.2323 Wpisz "get-help NuGet", aby zobaczyć wszystkie dostępne komendy NuGet. PM> Install-Package Microsoft.AspNet.SignalR Podejmowane są próby zebrania i namierzenia ". NETFramework, Version=v4.5"WWW_ITSVSE_COM. Informacje o zależności pakietu "Microsoft.AspNet.SignalR.2.2.2" Zebranie informacji o zależności zajęło 24,53 sekundy Próba rozwiązania zależności pakietu "Microsoft.AspNet.SignalR.2.2.2" z DependencyBehavior jako "Najniższym" W istniejącym pliku packages.config wykrywa się jedno lub więcej nierozwiązanych ograniczeń zależności pakietów. Wszystkie ograniczenia zależności muszą zostać rozwiązane, aby dodać lub zaktualizować pakiety. Komunikat ten można zignorować, jeśli te pakiety są aktualizowane, a jeśli nie są aktualizowane, błąd może uniemożliwić bieżącą operację pakietu: 'DotNetOpenAuth.Core 4.1.4.12333 Constraints: Microsoft.Net.Http', 'Microsoft.AspNet.WebApi.Client 4.0.20710 Constraints: Microsoft.Net.Http (>=). 2.0.20710 && < 2.1.0)', 'Microsoft.AspNet.WebApi.OData 4.0.0 constraints: Microsoft.Net.Http (>= 2.0.20710 & < 2.1.0)' Parsowanie informacji zależności zajmuje 0 ms Operacja parsowania w celu instalacji pakietu "Microsoft.AspNet.SignalR.2.2.2" Rozwiązano operację instalacji pakietu "Microsoft.AspNet.SignalR.2.2.2" Retrieve package "Microsoft.AspNet.SignalR 2.2.2" from "nuget.org" Retrieve package "Microsoft.AspNet.SignalR.Core 2.2.2" from "nuget.org" Pobierz pakiet "Microsoft.AspNet.SignalR.JS 2.2.2" z "nuget.org" Retrieve package "Microsoft.AspNet.SignalR.SystemWeb 2.2.2" from "nuget.org" Pobierz pakiet "Microsoft.Owin 2.1.0" z "nuget.org" Retrieve package "Microsoft.Owin.Host.SystemWeb 2.1.0" z "nuget.org" Pobierz pakiet "Microsoft.Owin.Security 2.1.0" z "nuget.org" Pobierz pakiet "Owin 1.0.0" z "nuget.org" ODEJDŹ https://api.nuget.org/packages/microsoft.aspnet.signalr.systemweb.2.2.2.nupkg DO https://api.nuget.org/packages/microsoft.owin.2.1.0.nupkg ODSUŃ https://api.nuget.org/packages/microsoft.aspnet.signalr.core.2.2.2.nupkg ODEJDŹ https://api.nuget.org/packages/microsoft.aspnet.signalr.2.2.2.nupkg DO https://api.nuget.org/packages/microsoft.aspnet.signalr.js.2.2.2.nupkg ODEJDŹ https://api.nuget.org/packages/microsoft.owin.security.2.1.0.nupkg ODEJDŹ https://api.nuget.org/packages/microsoft.owin.host.systemweb.2.1.0.nupkg ODEJDŹ https://api.nuget.org/packages/owin.1.0.0.nupkg OK https://api.nuget.org/packages/microsoft.aspnet.signalr.systemweb.2.2.2.nupkg 150 ms OK https://api.nuget.org/packages/microsoft.aspnet.signalr.core.2.2.2.nupkg 152 ms Instalowany jest Microsoft.AspNet.SignalR.SystemWeb 2.2.2. Instalowany jest Microsoft.AspNet.SignalR.Core 2.2.2. OK https://api.nuget.org/packages/microsoft.owin.2.1.0.nupkg 436 ms Microsoft.Owin 2.1.0 jest instalowany. OK https://api.nuget.org/packages/microsoft.aspnet.signalr.js.2.2.2.nupkg 3705 ms Microsoft.AspNet.SignalR.JS 2.2.2 jest instalowany. OK https://api.nuget.org/packages/microsoft.aspnet.signalr.2.2.2.nupkg 4080 ms Instalowany jest Microsoft.AspNet.SignalR 2.2.2. OK https://api.nuget.org/packages/microsoft.owin.security.2.1.0.nupkg 4080 ms Instalowany jest Microsoft.Owin.Security 2.1.0. OK https://api.nuget.org/packages/microsoft.owin.host.systemweb.2.1.0.nupkg 4294 ms Instalowany jest Microsoft.Owin.Host.SystemWeb 2.1.0. Dodanie pakietu "Microsoft.AspNet.SignalR.JS.2.2.2" do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Pakiet "Microsoft.AspNet.SignalR.JS.2.2.2" został dodany do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Dodano pakiet "Microsoft.AspNet.SignalR.JS.2.2.2" do "packages.config" "Microsoft.AspNet.SignalR.JS 2.2.2" został pomyślnie zainstalowany na WWW_ITSVSE_COM. Web OK https://api.nuget.org/packages/owin.1.0.0.nupkg 6801 milisekund Owin 1.0.0 jest instalowany. Dodanie pakietu "Owin.1.0.0" do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Pakiet "Owin.1.0.0" został dodany do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Pakiet "Owin.1.0.0" został dodany do "packages.config" "Owin 1.0.0" został pomyślnie zainstalowany na WWW_ITSVSE_COM. Web Dodanie pakietu "Microsoft.Owin.2.1.0" do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Do folderu "C:\project\company\WWW_ITSVSE_COM\packages" dodano pakiet "Microsoft.Owin.2.1.0" Dodano pakiet "Microsoft.Owin.2.1.0" do "packages.config" "Microsoft.Owin 2.1.0" został pomyślnie zainstalowany na WWW_ITSVSE_COM. Web Dodanie pakietu "Microsoft.Owin.Host.SystemWeb.2.1.0" do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Do folderu "C:\project\company\WWW_ITSVSE_COM\packages" dodano pakiet "Microsoft.Owin.Host.SystemWeb.2.1.0" Dodano pakiet "Microsoft.Owin.Host.SystemWeb.2.1.0" do "packages.config" "Microsoft.Owin.Host.SystemWeb 2.1.0" został pomyślnie zainstalowany na WWW_ITSVSE_COM. Web Dodanie pakietu "Microsoft.Owin.Security.2.1.0" do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Do folderu "C:\project\company\WWW_ITSVSE_COM\packages" został dodany pakiet "Microsoft.Owin.Security.2.1.0" Dodano pakiet "Microsoft.Owin.Security.2.1.0" do "packages.config" "Microsoft.Owin.Security 2.1.0" został pomyślnie zainstalowany na WWW_ITSVSE_COM. Web Dodanie pakietu "Microsoft.AspNet.SignalR.Core.2.2.2" do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Do folderu "C:\project\company\WWW_ITSVSE_COM\packages" został dodany pakiet "Microsoft.AspNet.SignalR.Core.2.2.2" Dodano pakiet "Microsoft.AspNet.SignalR.Core.2.2.2" do packages.config "Microsoft.AspNet.SignalR.Core 2.2.2" został pomyślnie zainstalowany na WWW_ITSVSE_COM. Web Dodanie pakietu "Microsoft.AspNet.SignalR.SystemWeb.2.2.2" do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Pakiet "Microsoft.AspNet.SignalR.SystemWeb.2.2.2" został dodany do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Dodano pakiet "Microsoft.AspNet.SignalR.SystemWeb.2.2.2" do "packages.config" "Microsoft.AspNet.SignalR.SystemWeb 2.2.2" został pomyślnie zainstalowany na WWW_ITSVSE_COM. Web Dodanie pakietu "Microsoft.AspNet.SignalR.2.2.2" do folderu "C:\project\company\WWW_ITSVSE_COM\packages" Do folderu "C:\project\company\WWW_ITSVSE_COM\packages" został dodany pakiet "Microsoft.AspNet.SignalR.2.2.2" Pakiet "Microsoft.AspNet.SignalR.2.2.2" został dodany do "packages.config" "Microsoft.AspNet.SignalR 2.2.2" został pomyślnie zainstalowany na WWW_ITSVSE_COM. Web Operacja nugetowa trwała 18,26 sekundy Upływ czasu: 00:00:45.5513744 PM> Teraz, gdy SignalR jest zainstalowany, jak się zarejestrować? Na przykład nasz kontroler czy coś takiego, a potem myślę o Global.asax.cs plikach,
Baidu sprawdził i stwierdził, że nakaz rejestracji brzmiał następująco:
Znajduje się błąd z następującym błędem:
Błąd CS0619 "SignalRRouteExtensions.MapHubs(RouteCollection)" jest wycofany: "Use IAppBuilder.MapSignalR in an Owin Startup class. Zobacz http://go.microsoft.com/fwlink/?LinkId=320578 więcej szczegółów." WWW_ITSVSE_COM. Web C:\project\company\WWW_ITSVSE_COM\WWW_ITSVSE_COM. Web\Global.asax.cs aktywne 30
Wersje SignalR, począwszy od 1.2.2 i od 2.0 i wyżej, są uruchamiane na środku OWIN.
Po zainstalowaniu signalR2.0 z nugetem,Nie zaczynaj trasy w application_start Globalaxac,
Zamiast tego powinieneś zbudować klasę Startup jako klasę startupową.
Następnie tworzymy nową klasę Startup w katalogu głównym projektu, a kod wygląda następująco:
XXX oznacza nazwę naszego projektu, a następnie, po wznowieniu, okazuje się, że nie zgłaszano żadnego błędu!!
W rzeczywistości, jeśli nie utworzymy nowej klasy Startup, następujący błąd zostanie zgłoszony po starcie, o czym dowiedziałem się dopiero później.
Podczas próby uruchomienia aplikacji wystąpiły następujące błędy. - Nie znaleziono żadnego zespołu zawierającego atrybut OwinStartup. - Nie znaleziono żadnego zespołu zawierającego Startup lub [AssemblyName]. Zajęcia o startupach. Aby wyłączyć odkrywanie uruchamiania OWIN, dodaj appSetting owin:AutomaticAppStartup z wartością "false" w pliku web.config. Aby określić Assembly, Class lub Method startu OWIN, dodaj appSetting owin:AppStartup z w pełni kwalifikowaną klasą startową lub nazwą metody konfiguracji w swoim web.config.
|