5

我已经从GitHub下载了最新的 SignalR 代码(截至 2012 年 4 月 4 日),因为它现在可以使用 MonoDevelop 进行编译,因此我可以在 OS X 上使用它。

但是,在使用入门页面上列出的SignalR.Sample示例测试新版本时,它失败并出现以下错误:

当前上下文中不存在名称“AspNetHost”

这发生在 StockTicker.cs 中:

private static dynamic GetClients()
{
    return AspNetHost.DependencyResolver.Resolve<IConnectionManager>().GetClients<StockTickerHub>();
}

谁能解释 AspNetHost 的变化?

非常欢迎就如何获得 SignalR.Sample 编译提出建议。

4

2 回答 2

14

我遇到了同样的问题,发现这在 SignalR 0.5 中已被弃用。这是一篇详细介绍更改的文章。

具体到您的项目,变化来自:

public void PerformLongRunningHubOperation()
{
    var clients = AspNetHost.DependencyResolver.Resolve<IConnectionManager>().GetClients<MyHub>();

    clients.notify("Hello world");
}

在 0.5 中对此:

public void PerformLongRunningHubOperation()
{
    IHubContext context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();

    context.Clients.notify("Hello world");
}
于 2012-05-24T23:01:07.200 回答
0

您将需要阅读代码,因为源代码与文档不同步。这些文档适用于当前版本,而不是积极开发的。

查看 asp.net 示例以了解当前的 API。不过,它还没有一成不变。

于 2012-04-04T19:40:25.163 回答