【问题标题】:My Hub class is not calling using signal R我的 Hub 类没有使用 signalR 调用
【发布时间】:2016-06-25 10:41:50
【问题描述】:

我在我的应用程序中使用了 signalR。

这是客户端代码:

<script src="Scripts/jquery-1.6.4.js" type="text/javascript"></script>
    <script src="Scripts/jquery.signalR-2.2.0.js" type="text/javascript"></script>
    <script src="signalr/hubs" type="text/javascript"></script>
    <script type="text/javascript">

        var data = $.connection.Hubclass;
        alert(data); // data is undefine
    </script>

我的 hub 类如下所示

public class Hubclass :Hub
{
    public void getdata(string msg)
    {
        Clients.All.send(msg);
    }

}

我在 Owin 有启动课程,如下所示

 [assembly: OwinStartup(typeof(Startup1))]

    public class Startup1
    {
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();

        }
    }

这是我在 web.config 中使用的配置:

<appSettings>
    <add key="owin:appStartup" value="Startup1" />
  </appSettings>

在 Global.asax 类文件中,我还添加了这段代码:

RouteTable.Routes.MapHubs();

当我启动应用程序时,这是我得到的错误:

错误 CS0619 'SignalRRouteExtensions.MapHubs(RouteCollection)' 是 过时:'在 Owin 启动类中使用 IAppBuilder.MapSignalR。看 http://go.microsoft.com/fwlink/?LinkId=320578了解更多详情

【问题讨论】:

  • 您不需要 appsetting 和 mapHubs 方法即可开始使用。尝试先删除它,然后重试。您还可以更新您的帖子并告诉我们您使用的是哪个版本的 SignalR?
  • 我正在使用信号 r 版本 2.2.0。当我删除 appsetting 和 mapHub 时出现错误:“hubclass”集线器无法解析。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详情:System.InvalidOperationException: 'hubclass' Hub 无法解析
  • 然后尝试将 HubName 属性添加到您的 HubClass。
  • 我在 Hubclass 中添加了属性,但问题没有解决。到目前为止它尚未定义。
  • 然后我没有进一步研究问题的想法。如果您是从头开始,我建议您按照教程进行操作。

标签: c# asp.net signalr


【解决方案1】:

如果我没记错的话,客户端代理是驼峰式的(生成的或动态的)所以你应该使用

 $.connection.hubclass

或添加到集线器类名属性

[HubName("Hubclass")]

而且您不需要通过 RouteTable.Routes.MapHubs 设置信号器路由,因为中间件会为您处理路由...

编辑:也许您可以通过signlar/hubs请求检查您生成的代理是否正确下载,请在浏览器中检查您的网络选项卡。如果没有,OWIN 初始化可能有问题,也许您必须在 appConfig 中设置 namespace 或友好名称才能正确检测 Startup 类,请检查 startup detection

<add key="owin:appStartup" value="StartupDemo.ProductionStartup" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多