我是 ASP.NET MVC 和 Signalr 的新手。我正在按照本教程通过信号器学习与 ASP>NET 的 SQL 交互。
我尝试了以下步骤
- 创建了一个新项目“ASP.NET MVC3”
- 带有剃须刀视图引擎的选定 Internet 应用程序。
- 通过 nuget 安装 Microsoft ASP.NET 信号器
- 创建了相同的数据库和相同的表。
- 通过添加连接字符串修改了我的 webconfig。
- 应用 Global.asax 中的更改以启用和停止侦听器。
- 添加了一个类“JobInfo” - 类似于链接中的第 5 步。
- 在教程的第 7 步中,当我单击 project > add new item 时,我没有找到 Signalr hub 类。所以我添加了一个同名的普通类
代码
namespace MvcApplication1
{
public class JobHub
{
public static void Show()
{
IHubContext context = GlobalHost.ConnectionManager.GetHubContext<JobHub>();
context.Clients.All.displayStatus();
}
}
}
现在,当我构建我的解决方案时,我收到了这个错误
The type 'MvcApplication1.JobHub' cannot be used as type parameter 'T' in the generic type or method 'Microsoft.AspNet.SignalR.Infrastructure.IConnectionManager.GetHubContext<T>()'.
There is no implicit reference conversion from 'MvcApplication1.JobHub' to 'Microsoft.AspNet.SignalR.Hubs.IHub'.
另外,我不确定如何实现第 8 步,因为当我单击控制器添加“valueController”时,我无法从“ApiController”继承它。
下面是我的应用程序的屏幕截图。
我怎样才能解决这个问题?