У меня есть приложение, в котором у меня есть 2 экземпляра его на одном сервере IIS.signalR change default site in startup
- /site1
- /site2
же исходный код в обоих, просто разные настройки. У меня есть код signalR на обоих сайтах, но я бы хотел, чтобы Site2 использовал сервер signalR с сайта1.
У меня это работает, так что если изменения внесены на Site1, Site2 знает, что нужно обновить, и это работает нормально. ПРОБЛЕМА заключается в том, что если серверные изменения (а не javascript) сделаны на Site2, Site1 не получает их. Ниже мой код:
Startup.cs
app.Map("/signalr", map =>
{
map.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration
{
#if DEBUG
EnableDetailedErrors = true
#endif
};
map.RunSignalR(hubConfiguration);
});
Javascript код:
$.connection.hub.url = "http://servername/Site1/signalr";
...$.connection.start etc
Все это, кажется, работает хорошо, но то, что я не могу найти нигде как нажимать настройки в коде C# с сайта2 на Site1.
случайный C# код:
var hub = GlobalHost.ConnectionManager.GetHubContext<myHub>();
это globalhost.connectionmanager.gethubcontext всегда указывает на себя. Как я могу заставить Site2 указывать на Site1 в последнем разделе? Я попытался изучить редактирование Startup.cs для использования MapSignalR (.. path, ...), но путь не принимает абсолютные URL-адреса, он должен начинаться с '/', поэтому он не будет подниматься уровень.
Любые идеи или я что-то пропустил что-то основное?