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

Mat*_*ttl 5 c# mono signalr

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

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

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

这发生在StockTicker.cs中:

private static dynamic GetClients()
{
    return AspNetHost.DependencyResolver.Resolve<IConnectionManager>().GetClients<StockTickerHub>();
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释AspNetHost的变化吗?

关于如何获得SignalR.Sample编译的建议将非常受欢迎.

Gen*_*ick 14

我有同样的问题,发现在SignalR 0.5中已弃用.这是一篇详细介绍这些变化的文章.

具体到您的项目,更改来自:

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

    clients.notify("Hello world");
}
Run Code Online (Sandbox Code Playgroud)

以0.5为准:

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

    context.Clients.notify("Hello world");
}
Run Code Online (Sandbox Code Playgroud)