SignalR ASPNetHost在当前上下文中不存在

时间:2012-04-04 16:23:50

标签: c# mono signalr

我已经从GitHub下载了最新的SignalR代码(截至04/04/12),因为它现在可以编译MonoDevelop,所以我可以在OS X上使用它。

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

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

这在StockTicker.cs中发生:

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

任何人都可以解释AspNetHost的内容吗?

非常欢迎有关如何进行SignalR.Sample编译的建议。

2 个答案:

答案 0 :(得分:14)

我遇到了同样的问题,发现在SignalR 0.5中已弃用。这是一个article详细说明了这些变化。

特定于您的项目,更改来自:

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");
}

答案 1 :(得分:0)

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

查看asp.net示例以查看当前的API。但它并不是一成不变的。