Ответ 1
Вам нужно будет вытащить текущую версию github из: Signalr Github (Commit: b95ac7b во время записи)
После этого, и загрузите решение, или добавьте все три проекта в существующее решение, вам нужно будет изменить project.json во всех трех проектах.
Microsoft.AspNetCore.SignalR.Server - project.json
Вы увидите ссылки на версию 1.1.0- * (RC3) каждой сборки. Измените их на текущий RC2, пока не увидите следующее
"Microsoft.AspNetCore.DataProtection": "1.0.0",
"Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0",
"Microsoft.AspNetCore.Http.Extensions": "1.0.0",
"Microsoft.Extensions.DependencyModel": "1.0.0",
Теперь сохраните файл, и зависимости будут обновляться.
Сделайте то же самое с файлами проекта Сообщения и Инфраструктура project.json, заменив любой 1.1.0- * на 1.0.0
Как только это будет сделано, вы можете добавить ссылку на проект в свой основной проект Microsoft.AspNetCore.SignalR.Server
Теперь, когда вы загрузили, откройте Startup.cs
Внутри метода ConfigureServices добавьте:
services.AddSignalR();
Внутри метода Настроить добавьте:
app.UseSignalR();
Затем добавьте оператор using и импортируйте пространство имен инфраструктуры следующим образом:
using Microsoft.AspNetCore.SignalR.Infrastructure;
И, наконец, создайте статическое свойство в Startup.cs, называемом ConnectionManager, следующим образом:
public static IConnectionManager ConnectionManager;
Наконец, добавьте свойство IServiceProvider к методу Configure в Startup.cs(необходимо импортировать пространство имен System). Затем загрузите ConfigurationManager из этого.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IServiceProvider serviceProvider)
{
ConnectionManager = serviceProvider.GetService<IConnectionManager>();
Теперь, в ваших хабах/где-либо еще, вместо использования Globalhost, просто используйте startup. Например:
IHubContext context = Startup.ConnectionManager.GetHubContext<SomeHub>();
context.Clients.All.someMethod();