【问题标题】:SignalR and MVC4SignalR 和 MVC4
【发布时间】:2013-01-19 12:20:15
【问题描述】:

我正在尝试让示例 https://github.com/SignalR/SignalR/wiki/QuickStart-Hubs 与 MVC4 一起运行。

我加了

<script src="/signalr/hubs" type="text/javascript"></script>

并在我的 html 中的单个 javascriptfiles 之前包含 jquery。 但我收到 Chrome 控制台错误

http://localhost:35787/signalr/hubs/ 403 (Forbidden) 
Uncaught TypeError: Cannot read property 'client' of undefined 

当然,我安装了 nuget-package 并创建了 hub 类。我没有文件夹 /signalr/hubs?

【问题讨论】:

    标签: c# javascript asp.net signalr


    【解决方案1】:

    在 WebAPI 路由之前在顶部注册 Hub。

    RouteTable.Routes.MapHubs();
    WebApiConfig.Register(GlobalConfiguration.Configuration);
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    

    如果上面的方法不起作用,那么试试这个

    <system.webServer> <modules runAllManagedModulesForAllRequests="true"> </modules>
    

    更多信息请阅读: https://github.com/SignalR/SignalR/wiki/Faq

    【讨论】:

      【解决方案2】:

      路由注册了吗?

      Application_Start:

      ...
      RouteTable.Routes.MapHubs();
      RouteConfig.RegisterRoutes(RouteTable.Routes);
      ...
      

      FAQ中也提到

      【讨论】:

        【解决方案3】:

        我在我的项目中创建了一个文件夹“/signalr/hubs”,我保存了我的集线器。这导致了错误!在我删除它之后它就可以工作了。

        【讨论】:

        • 对不起。我会删除我的评论。感谢您的回答!
        • 您只是将 Hub 类移动到根目录还是什么?
        • 不管它们是否在根目录下。不要在你的项目中使用 /signalr/hubs 目录
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-05
        • 1970-01-01
        • 2015-10-24
        • 2013-05-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多