我已经从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编译的建议。
答案 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。但它并不是一成不变的。