【问题标题】:SignalR error using high level hub api with MVC4 - "/echo/negotiate 404 Not Found Error"使用带有 MVC4 的高级集线器 api 的 SignalR 错误-“/echo/negotiate 404 Not Found Error”
【发布时间】:2012-04-09 04:10:06
【问题描述】:

我在 js 客户端上运行了一些非常基本的 SignalR 代码:

var conn = $.connection("@Url.Content("/echo")");

conn.Debug = function (msg) {
    console.log(msg);
};

conn.start();

此代码可以执行并正常工作,但出现 404 错误。 JS 试图访问http://localhost:32344/echo/negotiate 并且找不到它。如果我在没有“协商”的情况下点击 url,则请求完成。

我没有接触 Global.asax,服务器代码是最基本的,但是客户端还没有调用这个代码:

public class SpatialHub : Hub
{
    public void Send(string data)
    {
        Caller.Debug("sent!");
    }
}

任何想法将不胜感激。谢谢!

【问题讨论】:

    标签: c# javascript asp.net-mvc signalr


    【解决方案1】:

    您将“高级集线器”客户端服务器代码与“低级连接”客户端 API 混合在一起。

    按照此处的快速入门和端到端示例:

    【讨论】:

      【解决方案2】:

      我知道我哪里出错了。我一直在寻找解决不同问题的方法,并将两者混为一谈。但是,我了解到,如果方法调用立即发生,则必须在 hub.start 中包含方法调用:

      $.connection.hub.start(function () {
           myhub.send('test');
      });
      

      【讨论】:

        猜你喜欢
        • 2020-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多