SignarlR Two Hubs не должны иметь одно и то же имя.

Мы разрабатываем серверное приложение, в основе которого лежат библиотеки 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.Lazy1.CreateValue() at System.Lazy1.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](IEnumerable1, предикат 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


person Mumin Ka    schedule 05.10.2017    source источник
comment
Какую версию SignalR вы используете? 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.2017
comment
версия: 2.1.0   -  person Mumin Ka    schedule 06.10.2017
comment
Думаю, меня ввел в заблуждение тег signalr-core (который я удалил) и первое предложение: «Мы разрабатываем серверное приложение, в основе которого лежат библиотеки SigalR». Оба заставили меня подумать, что вы используете SignalR для ASP.NET на ASP.NET Core (что не поддерживается)   -  person Pawel    schedule 06.10.2017
comment
Прошу прощения :)   -  person Mumin Ka    schedule 09.10.2017


Ответы (1)


Проблема в Овин. У нас есть 2 приложения. Первый - это WCF-сервер, второй - сервис SignalR. Когда мы сначала запускаем службу SignalR, проблем нет. Так мы и решили проблему. Думаю, между этими серверами есть точка пересечения.

person Mumin Ka    schedule 06.10.2017