C# 信号器不调用seconf Hub类
我在我的项目中有2个中心类C# 信号器不调用seconf Hub类,c#,signalr,C#,Signalr,我在我的项目中有2个中心类 public class FolderManager : Hub { public FolderManager() { } public void Validator() { } } public class SeoContentValidator : Hub { public SeoContentValidator() { } public void Validator() {
public class FolderManager : Hub
{
public FolderManager()
{
}
public void Validator()
{
}
}
public class SeoContentValidator : Hub
{
public SeoContentValidator()
{
}
public void Validator()
{
}
}
我开始上课了
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
在我看来,我有这个脚本
<script src="~/Scripts/jquery.signalR-2.2.0.js" type="text/javascript"></script>
<script src="~/signalr/hubs" type="text/javascript"></script>
<script>
jQuery(document).ready(function(){
var folderManager = $.connection.folderManager;
var seoContentValidator = $.connection.seoContentValidator;
$.connection.hub.logging = true;
$.connection.hub.start().done(function () {
folderManager.server.validator();
seoContentValidator.server.validator();
});
});
</script>
jQuery(文档).ready(函数(){
var folderManager=$.connection.folderManager;
var seoContentValidator=$.connection.seoContentValidator;
$.connection.hub.logging=true;
$.connection.hub.start().done(函数(){
folderManager.server.validator();
seoContentValidator.server.validator();
});
});
我遇到的问题是signer可以找到并调用folderManager.server.validator()
但找不到seoContentValidator.server.validator()
我在SeoContentValidator中做错了什么,或者信号员找不到它这应该可以正常工作。事实上,我试过你的例子。 我的信号器/集线器生成的代理具有以下代码:
proxy['folderManager']=this.createHubProxy('folderManager');
代理['folderManager'].client={};
代理['folderManager']。服务器={
验证器:函数(){
返回代理['folderManager'].invoke.apply(代理['folderManager'],$.merge([“Validator”],$.makeArray(参数));
}
};
代理['seoContentValidator']=this.createHubProxy('seoContentValidator');
代理['seoContentValidator'].client={};
代理['seoContentValidator']。服务器={
验证器:函数(){
返回代理['seoContentValidator'].invoke.apply(代理['seoContentValidator'],$.merge([“Validator”],$.makeArray(参数));
}
};
在启动我的js日志时,会显示:
[ ... ] SignalR: Invoking foldermanager.Validator
[ ... ] SignalR: Invoking seocontentvalidator.Validator
我还在hub方法上设置断点,并在调试模式下运行应用程序。两个断点都被触发
我复制的JS代码是否存在于生成的代理文件中?
运行时没有JS错误
我假设您编写的示例代码不是您的实际代码。尝试调试代码,同时使用详细的错误消息:
公共类启动{
公共无效配置(IAppBuilder应用程序){
var hubConfiguration=新的hubConfiguration();
hubConfiguration.EnableDetailedErrors=true;
应用程序MapSignal(HUB配置);
}
}
用try-catch块包装您的hub方法,这会有很大帮助
如果您发现了问题,请告诉我。我已经运行了您的代码,无法重新创建错误-我在两个Validator()方法上都设置了断点,并且都受到了攻击。这就是VS2013和最新的信号器包。如果可能,请提供更多详细信息。