我正在学习这个关于如何启动SignalR项目的快速教程,在我的集线器类中,我有以下内容
using Microsoft.AspNet.SignalR.Hubs;
namespace MvcApplication8.Hubs
{
public class ChatHub : Hub
{
public void BroadcastMessage(string message)
{
Clients.writeMessage(message);
}
}
}客户代码:
$(document).ready(function () {
var chat = $.connection.chatHub;
chat.writeMessage = function(msg) {
$("#messages").append("<li>" + msg + "</li>");
};
$("#buttonSubmit").click(function () {
chat.broadcastMessage($("#txtInput").val());
});
$.connection.hub.start();
}); 但是,我收到编译时错误的信息:
'Microsoft.AspNet.SignalR.Hubs.HubConnectionContext‘不包含“writeMessage”的定义,也找不到接受'Microsoft.AspNet.SignalR.Hubs.HubConnectionContext’类型的第一个参数的扩展方法“writeMessage”(您缺少一个使用指令还是程序集引用?)
哪里出问题了?
我使用包管理器控制台"Install-Package Microsoft.AspNet.SignalR -Pre“将http://nuget.org/packages/microsoft.aspnet.signalr安装到我的项目中。
发布于 2012-11-28 15:45:34
您创建了相应的客户端功能吗?
<script type="text/javascript">
$(function () {
var chat = $.connection.chat;
chat.writeMessage = function (message) {
$('#messages').append('<li>' + message + '</li>');
};
$.connection.hub.start();
});
</script>发布于 2012-11-28 17:59:01
检查是否安装了下列软件包:
发布于 2015-10-06 18:11:43
尝试更新NuGet包。TOOLS > NuGet Package Manager > Manage NuGet Packages for S溶液,在窗口的左侧单击“更新”,在窗口的中心部分,您将得到要更新的包列表,然后单击包上的“安装”按钮,您想要获得最新的版本吗?我更新所有内容: JQuery、Json.NET、Microsoft ASP.NET SignalR、Microsoft.Owin。
在将包更新为最新版本(SignalR当前为2.2.0)之后,您可以编译。不要忘记"StockTicker.html“中的更新引用,在我的例子中,更新后如下所示:
<script src="/Scripts/jquery-2.1.4.min.js"></script>
<script src="/Scripts/jquery.signalR-2.2.0.js"></script>https://stackoverflow.com/questions/13607028
复制相似问题