Мы разрабатываем серверное приложение, в основе которого лежат библиотеки SigalR. Когда я пытаюсь получить текущий контекст сервера, я получаю эту ошибку ниже. Кто-нибудь знает причину этой ошибки? Спасибо.
1) Это не приложение MVC, это консольное приложение.
2) Мы не используем папки App_Start или App_Code.
Класс запуска, который находится внутри консольного приложения:
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
}
}
Вот мой конструктор, который находится внутри библиотеки классов. И сервер запускается сам.
public ServerBase()
{
serverURI = ConfigurationManager.AppSettings["ServerURI"];
StartServer();
serverContext = GlobalHost.ConnectionManager.GetHubContext<ServerBase>();
}
Сообщение об ошибке:
Два концентратора не должны иметь одно и то же имя. Core.MessageTransmitter.ServerBase, Core.MessageTransmitter, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null и Core.MessageTransmitter.ServerBase, Core.MessageTransmitter, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null 'оба имеют имя ServerBase.
Трассировка стека:
в Microsoft.AspNet.SignalR.Hubs.ReflectedHubDescriptorProvider.BuildHubsCache () в System.Lazy
1.CreateValue() at System.Lazy
1.LazyInitValue () и в источнике System.Lazy1.get_Value() at Microsoft.AspNet.SignalR.Hubs.ReflectedHubDescriptorProvider.TryGetHub(String hubName, HubDescriptor& descriptor) at Microsoft.AspNet.SignalR.Hubs.DefaultHubManager.<>c__DisplayClass1.<GetHub>b__0(IHubDescriptorProvider p) at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable
1, предикат Func`2) в Microsoft.AspNet.SignalR.Hubs.DefaultHubMub hubName) в Microsoft.AspNet.SignalR.Hubs.HubManagerExtensions.EnsureHub (счетчики HubManager hubManager, String hubName, IPerformanceCounter []) в Microsoft.AspNet.SignalR.Infrastructure.ConnectionManager.GetHubContext (Microsoft.RUBCONTEXT (StringRAName). .ConnectionManager.GetHubContextT в Core.MessageTransmitter.ServerBase..ctor () в C: \ ReklamUssuProjects \ MenuBoard-DevBranch \ ReklamUssu.Core \ Core.MessageTransmitter \ ServerBase.cs: строка 28 в Core.MessageverTransmitter..Log logger) в C: \ ReklamUssuProjects \ MenuBoard-DevBranch \ ReklamUssu.Core \ Core.MessageTransmitter \ ServerBase.cs: строка 30 в Core.ContextManager.ServerContext.Initialize (имя строки, тип messageBroker, строка se rviceAddress, String metaDataAddress) в C: \ ReklamUssuProjects \ MenuBoard-DevBranch \ ReklamUssu.Core \ Core.Context \ ServerContext.cs: строка 22 в CallSite.Target (Closure, CallSite, ServerContext, String, Type, Object, Object) в системе .Dynamic.UpdateDelegates.UpdateAndExecuteVoid5 [T0, T1, T2, T3, T4] (сайт CallSite, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4) в MenuBoard.AppHostConsole.Program. в C: \ ReklamUssuProjects \ MenuBoard-DevBranch \ ReklamUssu.MenuBoard \ MenuBoard.AppHostConsole \ Program.cs: строка 29
Microsoft.AspNet.SignalR
сообщает мне, что вы пытаетесь использовать SignalR 2.2.2 или аналогичный в Asp.NET Core, что не является поддерживаемым сценарием. Версия SignalR для использования для Asp.NET Core: blogs.msdn.microsoft.com/webdev/2017/09/14/ (обратите внимание, что на данный момент последняя версия - alpha1) - person Pawel   schedule 06.10.2017signalr-core
(который я удалил) и первое предложение: «Мы разрабатываем серверное приложение, в основе которого лежат библиотеки SigalR». Оба заставили меня подумать, что вы используете SignalR для ASP.NET на ASP.NET Core (что не поддерживается) - person Pawel   schedule 06.10.2017