【问题标题】:SignalR: Proxy hub not generating correctlySignalR:代理集线器未正确生成
【发布时间】:2012-07-04 07:00:34
【问题描述】:

我已经对我的“中心”进行了更新。具体来说,我添加了一些新方法。当我在 VS 2012 中调试时它工作正常。但是,当我将它发布到我的本地 IIS 时,信号器/集线器仍在生成旧的代理集线器。新方法未列出。

为了确保它不是旧版本的程序集,我通过 ILSpy 运行它,我可以看到新方法。

我尝试了一些小的操作,修改 HubName 属性以查看是否会在新的代理集线器中反映该更改。它不是。

关于如何强制信号器/集线器 url 生成正确的代理有什么想法吗?我尝试在末尾添加 ?120 等以查看它是否已缓存,但没有任何区别。

【问题讨论】:

  • 我遇到了同样的问题,再多的应用程序池回收、IIS 重启或任何其他类似的事情都没有帮助。这是一个 MVC 应用程序,访问“signalr/hubs”javascript 会显示默认代理,没有我定义的任何方法。这可能是什么原因造成的?

标签: c# signalr


【解决方案1】:

问题在于该站点被部署为子应用程序。它上面还有另一个应用程序,因此我们从样本中复制的信号器/集线器的 url 对于我们的构建是错误的。我们需要它是相对的,所以在前面添加 ~ 解决了这个问题。

【讨论】:

    【解决方案2】:

    İ如果您回收了应用程序池但仍然无法正常工作,

    无需更改 AssemblyInfo.cs 中的 AssemblyVersion 属性,而是更改 AssemblyFileVersion,这将使您的程序集的所有加载保持不变,但您可以选择在 GAC 中查看已部署的版本。

    共享程序集的正常位置存储在 Global Assembley Cache 中。广汽。 要添加或删除程序集,请使用 Visual Studio 或 Microsoft Net Gac 实用程序。 GAC 运营的其他替代方案GACView v1.11 - Global Assembly Cache (GAC) Viewer

    【讨论】:

    • 这不是共享程序集。这是一个网络应用程序。程序集被部署到 bin。