J'essaie d'installer SignalR à l'aide du gestionnaire de paquets NuGet dans mon projet C # Asp.Net core, mais j'obtiens le message d'erreur selon lequel SignalR n'est pas compatible avec .net core, n'est-il pas encore partisan? ou puis-je faire quelque chose pour que ça marche? (J'utilise VS2017 s'il était important de le mentionner). L'erreur:
Restoring packages for D:\Test\Test.WebAPI\Test.WebAPI.csproj...
Package Microsoft.AspNet.SignalR.Core 2.2.1 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Microsoft.AspNet.SignalR.Core 2.2.1 supports: net45 (.NETFramework,Version=v4.5)
Package Owin 1.0.0 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Owin 1.0.0 supports: net40 (.NETFramework,Version=v4.0)
Package Microsoft.Owin 2.1.0 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Microsoft.Owin 2.1.0 supports:
- net40 (.NETFramework,Version=v4.0)
- net45 (.NETFramework,Version=v4.5)
Package Microsoft.Owin.Security 2.1.0 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Microsoft.Owin.Security 2.1.0 supports: net45 (.NETFramework,Version=v4.5)
One or more packages are incompatible with .NETCoreApp,Version=v1.1.
Package restore failed. Rolling back package changes for 'Test.WebAPI'.
SignalR pour ASP.Net Core est pour le moment (01.01.2018) disponible dans la version alpha de NuGet.
https://www.nuget.org/packages/Microsoft.AspNetCore.SignalR/
SignalR est maintenant disponible pour ASP.Net Core 2.1
SignalR 2 est construit pour .NET Framework, pas pour .NET Core. Ils travaillent toujours sur SignalR pour .NET Core.
Une ancienne révision de la feuille de route d'ASP.NET Core montre SignalR dans le cadre d'ASP.NET Core 1.2. La dernière révision ne fait aucune référence à SignalR (ni à aucun des cadres), mais mentionne que 1.2 est prévu pour le deuxième trimestre 2017.
Il y a une vidéo où les gars de Microsoft discutent de SignalR dans ASP.NET Core. C'est une heure donc je ne vais pas le regarder pour vous. Mais peut-être quelques informations utiles sont là.
SignalR for asp.net core
EDIT:SignalR for asp.net core a été publié avec la norme 2.1 .net.
Ce paquet cible .net standard 2.0 et est toujours à l'état alpha.
Il ne semble pas qu'une version stable soit disponible avant la norme .net 2.1.
Les paquets peuvent être trouvés sur myget .
Si vous chargez votre hub de signalisation, vous pouvez utiliser redis comme fond d’écran.
SignalR pour asp.net
Et il y a aussi le paquet SignalR pour le framework .net qui a déjà une version stable. On peut le trouver sur nuget .
Pour équilibrage de la charge , les types de fond de plan suivants sont pris en charge:
SignalR.Server pour asp.net core (mise à jour du 18.09.2017: plus disponible)
N'utilisez pas ce paquet!
C'est le paquet obsolète qui cible .net 4.5.1 et .net standard 1.6. Aucun paquet stable n'a et ne sera jamais publié.
Les packages de prévisualisation sont disponibles sur myget .
Si vous équilibrez la charge de votre hub de signalisation, vous pouvez utiliser SQL Server comme fond d’écran. (Mais la l'implémentation est cassée )
Je travaille actuellement sur un projet .net core/angular 4 utilisant signalr.
Il y a une poignée d'exemples de semences sur Google, mais une chose qui peut décourager la plupart des gens d'essayer de télécharger Signalr via Nuget est le fait qu'il s'agit d'un référentiel de paquet différent. Edge repo:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="AspNetCore" value="https://dotnet.myget.org/F/aspnetcore-ci-dev/api/v3/index.json" />
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
C'est correct. SignalR est construit sur OWIN, qui est compatible avec asp.net core si vous ciblez le framework complet, mais pas le noyau dotnet.
J'ai récemment migré une application MVC5 utilisant SignalR vers ASP.NET Core 1.1 (netcoreapp1.1
). J'ai trouvé un paquet non officiel (Gray.Microsoft.AspNetCore.SignalR.Server
) qui fonctionnait directement sans modification de mon code existant.
<PackageReference Include="Microsoft.AspNetCore.WebSockets" Version="1.0.2" />
<PackageReference Include="Gray.Microsoft.AspNetCore.SignalR.Server" Version="0.2.0-alpha1" />
services.AddSignalR();
app.UseWebSockets();
app.UseSignalR();
SignalR est introduit avec .NET Core Voici le lien pour la mise en œuvre https://www.youtube.com/watch?v=1TrttIkbs6c
Les paquets suivants peuvent être trouvés sur NuGet.
Microsoft.AspNetCore.SignalR 1.0.0-alpha1-final Composants permettant la communication bidirectionnelle en temps réel sur le Web.
Microsoft.AspNetCore.SignalR.Redis 1.0.0-alpha1-final Redis pour ASP.NET Core SignalR.
Les packages pris en charge .NETSTandard, Version = v2.0 Now . J'ai utilisé les packages dans mes projets . Angular 4 + SignalR