Signalr/Hub 未在 IIS 7 中加载,但在 Visual Studio 中正常工作

2024-04-26

我正在使用 SignalR 的 Asp .Net 4.0 框架上开发一个 Web 应用程序,并从 Nuget 包安装了它。当我调试或运行应用程序而不进行本地调试时,它可以正常工作。但是,当它部署到生产服务器时,它无法找到signal/hubs动态注入到 httphandlers 中的文件。由于它的动态性质,它必须动态创建,所以我也不能只是将工作文件复制到项目中。

我尝试过以下加载文件的方法:

<script src="/signalr/hubs" type="text/javascript"></script>
<script src="signalr/hubs" type="text/javascript"></script>

并在后面的代码中:

ScriptManager.GetCurrent(Page).Scripts.Add(new ScriptReference("~/signalr/hubs"));

所有这些都在本地工作,但不在服务器上工作。 html 中呈现的路径看起来是正确的,但那里没有文件,从而产生 404 错误。如果重要的话,服务器已给予应用程序完全信任,并且该应用程序正在作为 IIS 中使用子域的另一个站点下的应用程序运行。


通过在 web.config 中设置以下标志解决了该问题。

<configuration>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
        </modules>
    </system.webServer>
</configuration>

由于某种原因,Nuget 没有为 Elmah 或 SignalR 设置这些值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Signalr/Hub 未在 IIS 7 中加载,但在 Visual Studio 中正常工作 的相关文章

随机推荐