2

我正在尝试让SignalR 自托管示例正常工作。

我创建了一个新的控制台应用程序,安装了 3 个包并在此处添加代码,然后运行该应用程序而没有任何错误。

在运行 netstat 之前没有显示在 8080 上监听,而在运行时在 8080 上有监听。

当我去http://localhost:8080/signalr/hubs我得到“连接被拒绝”

更新:从这里运行演示项目会抛出No connection could be made because the target machine actively refused it 127.0.0.1:8080(当然是在成功启动服务器之后)。

似乎问题出在 Owin 主机上,但我从未使用过它,所以我不知道如何调试它。

4

4 回答 4

4

确保让 Web 应用程序保持活跃。

粗略的示例代码如下...

        using (WebApp.Start<SignalrStartUp>(SignalrStrings.SignalrBaseUrl))
        {
            while(true)
            {
                Task.Delay(TimeSpan.FromSeconds(1)).Wait();
            }
        };
于 2014-04-23T20:36:27.897 回答
2

我也有这个问题。我见过的大多数此类 SignalR 代码示例都使用“Using”关键字来启动 WebApp。这会导致 WebApp 在超出范围时被销毁。在某些示例中,此时已完成所有必要的工作,但如果您尝试连接到 SignalR 服务器,则需要保持此对象处于活动状态并在范围内。

而不是这样的代码......

using (WebApp.Start(url))
{
   // Example SignalR usage here
}

尝试更类似于以下内容...

private readonly IDisposable webApp; // Declared in your class fields

然后

webApp = WebApp.Start(url);

完成后请务必处理掉该对象。

于 2016-01-07T10:56:57.733 回答
0

确保您允许连接到同一台机器;试试你的机器名、localhost 和 127.0.0.1。还以管理员身份启动应用程序(使用 ctrl-shift 最简单)。
然后,当您运行它时 - 查看如何设置您的用户以允许网络访问。

如果您使用的是 Visual Studio,您可能会遇到不存在的 js 文件。将相应的 js 文件设置为“如果较新则复制”。

于 2013-07-29T15:24:35.133 回答
-2

您需要在 Web 应用程序的根目录中创建一个名为 signalR 的文件夹,以便 signalR 可以映射到某个位置。

于 2013-05-23T07:33:18.567 回答