具有多个应用程序的IIS站点中的siganlr

时间:2017-03-06 12:35:19

标签: c# signalr iis-8

这里的第一个计时器......

我有点发脾气,希望有人可以提供帮助。 我有一个在IIS8中运行的webapp,可以说它的网址是 myapp.com / 现在这个网址会把我带到login.aspx,一旦用户登录到应用程序,就会有几个信号器工作正常的集线器,请求作为myapp.com/signalr ....

现在问题是当我向站点添加一个应用程序时,它也有一些信号器集线器(不需要登录)。当我添加应用程序时,我给它一个别名,例如。 状态我将应用程序池设置为" myapp"和" status"(我也试过了单独的应用程序池)。

所以我在想,那么对子应用程序集线器的请求将是 myapp.com/status/signalr .... 对吧!?,错!!!所有对集线器的请求都以myapp.com/signalr ...

的形式出现

我尝试在app.MapSignalR()中定义url;并且在javascript createHubProxy(' myhub')功能,但即使这样,请求也没有通过,即使网址是我预期的( myapp.com/status/signalr .... )。我得到协商错误,当我调试状态时,对signalr的请求永远不会到达global.asax状态。

将这两个应用程序放在同一站点下的原因是 1.证书和2.两个应用程序处理相同的用户数据。

我将尝试的最后一个想法是简单地将状态应用程序解决方案包含到myapp解决方案中并将这两者一起发布,以便在编译时将Owin类和全局asax合并在一起然后问题应该消失但是如果可能的话为了让它们分开,我宁愿这样做。

这可能吗?什么是程序,还是每个应用程序都必须有一个单独的站点?

预先

thanx:)

1 个答案:

答案 0 :(得分:0)

在应用程序中,您可以根据需要定义任意数量的Hub子类。但是,它们都将使用相同的/ signalr(或您配置的任何自定义URL)。不可能有/ signalr和/ status / signalr的单独URL。请注意,即使集线器共享相同的URL,两个不同集线器的组也是分开的。

您可以在this page上的“多个中心”标题下进行确认。