C# 信号器不调用seconf Hub类

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() {

我在我的项目中有2个中心类

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和最新的信号器包。如果可能,请提供更多详细信息。