【发布时间】:2016-06-25 10:41:50
【问题描述】:
我在我的应用程序中使用了 signalR。
这是客户端代码:
<script src="Scripts/jquery-1.6.4.js" type="text/javascript"></script>
<script src="Scripts/jquery.signalR-2.2.0.js" type="text/javascript"></script>
<script src="signalr/hubs" type="text/javascript"></script>
<script type="text/javascript">
var data = $.connection.Hubclass;
alert(data); // data is undefine
</script>
我的 hub 类如下所示
public class Hubclass :Hub
{
public void getdata(string msg)
{
Clients.All.send(msg);
}
}
我在 Owin 有启动课程,如下所示
[assembly: OwinStartup(typeof(Startup1))]
public class Startup1
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
这是我在 web.config 中使用的配置:
<appSettings>
<add key="owin:appStartup" value="Startup1" />
</appSettings>
在 Global.asax 类文件中,我还添加了这段代码:
RouteTable.Routes.MapHubs();
当我启动应用程序时,这是我得到的错误:
错误 CS0619 'SignalRRouteExtensions.MapHubs(RouteCollection)' 是 过时:'在 Owin 启动类中使用 IAppBuilder.MapSignalR。看 http://go.microsoft.com/fwlink/?LinkId=320578了解更多详情
【问题讨论】:
-
您不需要 appsetting 和 mapHubs 方法即可开始使用。尝试先删除它,然后重试。您还可以更新您的帖子并告诉我们您使用的是哪个版本的 SignalR?
-
我正在使用信号 r 版本 2.2.0。当我删除 appsetting 和 mapHub 时出现错误:“hubclass”集线器无法解析。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详情:System.InvalidOperationException: 'hubclass' Hub 无法解析
-
然后尝试将 HubName 属性添加到您的 HubClass。
-
我在 Hubclass 中添加了属性,但问题没有解决。到目前为止它尚未定义。
-
然后我没有进一步研究问题的想法。如果您是从头开始,我建议您按照教程进行操作。