SignalR错误加载集线器。服务停止时如何处理

时间:2014-07-24 23:09:46

标签: signalr signalr-hub

我的SignalR应用程序是Self-Hosted Windows Service Hub

我的javascript客户端位于index.html:

<script src="http://localhost:8080/signalr/hubs"></script>

但Windows服务并不总是在运行。因此,如果它没有运行,我尝试加载index.html,我收到错误:

Uncaught Error: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/js'></script>. 

并且有意义,因为在Windows服务运行之前它不会找到javascript文件。

所以我的问题是,如何使其灵活,以便在Windows服务未运行时我不会收到任何错误(localhost:8080)。

有任何线索吗?

2 个答案:

答案 0 :(得分:3)

解决方案是使用jQuery动态加载它:

 $.getScript("http://localhost:8080/signalr/hubs")
            .done(function(script, textStatus) {


                });

答案 1 :(得分:0)

假设SignalR始终映射到根路径,并且包含hubs脚本的HTML始终作为SignalR在端点上运行,您应该能够使用根相对路径:

<script src="/signalr/hubs"></script>