我正在使用 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(使用前将#替换为@)