我的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)。
有任何线索吗?
答案 0 :(得分:3)
解决方案是使用jQuery动态加载它:
$.getScript("http://localhost:8080/signalr/hubs")
.done(function(script, textStatus) {
});
答案 1 :(得分:0)
假设SignalR始终映射到根路径,并且包含hubs脚本的HTML始终作为SignalR在端点上运行,您应该能够使用根相对路径:
<script src="/signalr/hubs"></script>