相关疑难解决方法(0)

更新到MVC5后找不到/ signalr/hubs 404

SignalR正在工作,而项目是ASP.NET MVC3.现在我将它升级到MVC5(不是那么容易做,我必须告诉你).

然后我注意到signalR没有工作.我按照这本书,将SignalR重新安装到版本2.1.0,安装了OWIN(必须为v2 +)并为项目添加了启动类.

这是我的startup.cs类,它位于项目根文件夹中:

[assembly: OwinStartup(typeof(SISTEM.Startup))]
namespace SISTEM
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我觉得这里没问题,但也许我错过了什么......

现在这里是来自集线器的片段:

namespace SISTEM
{
    public class PostingHub : Hub
    {
        public void Test(string hello)
        {
            Clients.All.hello(hello);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在视图中引用生成的代理:

<script src="~/Scripts/jquery.signalR-2.1.0.min.js"></script>
<script src="~/signalr/hubs"></script>
Run Code Online (Sandbox Code Playgroud)

我在fiddler中检查它,我可以看到/ signalr/hubs请求正在生成未找到的HTTP 404.

现在,我并不懒惰,我尝试了几件事:

  • 修补无扩展URL的IIS - 因为我使用的是win8,所以不应该成为问题
  • 在RegisterRoutes(RouteTable.Routes)之前调用RouteTable.Routes.MapHubs() - VS将不允许它.给我一个错误,说已经过时,使用OWIN.
  • 下载的工具用于生成JavaScript代理(SignarR Utils),所以我可以稍后手动引用它们.试图生成,没有错误,但生成的js是空的.试了好几次.这对我来说最有趣.也许由于某种原因无法生成代理.

任何帮助,将不胜感激.

更新:来自/ signalr/hubs的响应

<!DOCTYPE html>
<html>
<head>
    <title>The resource cannot be found.</title>
    <meta name="viewport" content="width=device-width" />
</head>

<body bgcolor="white">

        <span><H1>Server …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc proxy signalr

5
推荐指数
1
解决办法
7593
查看次数

标签 统计

asp.net-mvc ×1

c# ×1

proxy ×1

signalr ×1