使用 SignalR 时,您需要在 HTML 中引用以下两个脚本:
<script src="~/Scripts/jquery.signalR-1.0.0.js"></script>
<script src="/signalR/hubs"></script>
第二个是用于自动生成的 JavaScript 集线器代理。一切正常。但是,如果 JavaScript Hub 代理生成以某种方式被禁用,可能通过设置 DisableJavaScriptProxies 属性(https://github.com/SignalR/SignalR/commit/7e974f4e92551a26f3e3e0a166e1dbf6c064e850)会发生什么。当 JavaScript 代理生成被禁用并且您尝试在 HTML 中引用 /signalr/hubs 时,它会给出 JavaScript 错误:
Uncaught Error: SignalR: JavaScript Hub proxy generation has been disabled.
当我在浏览器中浏览到该路径时,响应是:
throw new Error('SignalR: JavaScript Hub proxy generation has been disabled.')
如果禁用了 JavaScript 代理生成,$.connection.myHub.client
JavaScript 代码将如何工作?我还需要做些什么才能使其正常工作?我得到的 JavaScript 错误是
Uncaught TypeError: cannot read property 'client' of undefined.