我正在尝试在应用程序中使用 SignalR 集线器,但目前没有运气。我已经阅读了Scott Hanselman 的文章,还查看了这篇博客文章,其中展示了如何在 MVC 中实现它,基本上是在做同样的事情。不幸的是,我没有运气。在客户端,javascript 似乎工作正常[除了没有发生任何事情],但是当我在代码中放置断点时,它显示正在调用控制器,而不是集线器代码。我正在使用的代码是这样的:
// Client side javascript:
var hooking;
$(function() {
// Setup SignalR
hooking = $.connection.hooking;
hooking.removeLead = function(ref) {
$("lead" + ref).remove();
};
$.connection.hub.start();
}
});
// Hooking.cs (placed in application root)
public class Hooking : Hub
{
public void Submit(string jsonString)
{
var serializer = new JavaScriptSerializer();
var json = serializer.Deserialize<HookingLeadResult>(jsonString);
Clients.removeLead(json.Ref); // Remove lead from client hooking windows
// update lead gen
}
}
当我hooking.submit(resultJson);
稍后出于某种原因在代码中调用时,它会调用我的 HookingController(即当前页面)的 Index 操作。有谁知道如何正确调用 Hooking.cs 中的 Submit 函数?