【发布时间】:2013-03-20 19:23:42
【问题描述】:
我是 ASP.NET MVC 和 Signalr 的新手。我正在关注this 教程,通过信号器学习与 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”继承它。
以下是我的应用程序的屏幕截图。
我该如何解决这个问题?
【问题讨论】:
-
也许可以试试
public class JobHub : IHub或类似的东西。看来你应该在那里继承。 -
它给了我'MvcApplication1.JobHub' 没有实现接口成员'Microsoft.AspNet.SignalR.Hubs.IHub.Clients'
标签: asp.net-mvc-3 signalr