我的 MVC 应用程序中有以下集线器,我想从该集线器向我的客户端代码发送一条简单的消息:
using SignalR.Hubs;
public class Progress : Hub
{
public void Send(string message)
{
// Call the addMessage method on all clients
Clients.addMessage(message);
}
public Progress()
{
Clients.addMessage("Starting to analyze image");
}
}
在我看来,以下 javascript
<script src="/Scripts/jquery.signalR.js" type="text/javascript"></script>
<script src="/signalr/hubs" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
// Proxy created on the fly
var connection = $.connection('/signalr/hubs/progress');
// Declare a function on the chat hub so the server can invoke it
connection.addMessage = function (message) {
$('#messages').append('<li>' + message.Content + '</li>');
};
// Start the connection
connection.start();
});
</script>
我的问题是,当代码调用构造函数或 Send 方法时,Clients 对象为空。
当我调试客户端代码时,一切看起来都很好。/signalr/hubs/ 路由返回 javascript 代码,运行 javascript 时没有错误。
我可以补充一点,后端代码运行在 Umbraco 5 CMS 环境之上,我不确定这是否会造成任何干扰。
关于如何调试/解决此问题的任何建议?