在 ASP.net MVC 信号 R 中连接客户端服务器
Connecting Client Server in ASP.net MVC Signal R
这是我的 Signal R 客户端。
当我 运行 我的客户端时出现此错误。(0x800a139e - JavaScript 运行时间错误:SignalR:加载集线器时出错。确保您的集线器参考正确,例如。)
异常来自行 $.connection.hub.start
我的服务器应用程序的 HUBS 文件夹中有一个 ServerHub class,运行 没问题。
谁能帮帮我..
谢谢
<script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
<script src="http://localhost:39670/MySignalRServer/signalr/hubs"></script>
var ChatHubProxy = $.hubConnection("http://localhost:39670/MySignalRServer/signalr/hubs");
var chat = ChatHubProxy.createHubProxy('ServerHub');
chat.on("addNewMessageToPage",function (name, message) {
// Add the message to the page.
$('#discussion').append('<li><strong>' + htmlEncode(name)
+ '</strong>: ' + htmlEncode(message) + '</li>');
});
$.connection.hub.start({jsonp:true}).done(function () {
$('#sendmessage').click(function () {
// Call the Send method on the hub.
chat.server.send($('#displayname').val(), $('#message').val());
alert("hiii");
// Clear text box and reset focus for next comment.
$('#message').val('').focus();
});
});
尝试将您的代码更改为:
<script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
<script src="http://localhost:39670/MySignalRServer/signalr/hubs"></script>
var chat = $.connection.ServerHub; //here
chat.on("addNewMessageToPage", function(name, message) {
// Add the message to the page.
$('#discussion').append('<li><strong>' + htmlEncode(name)
+ '</strong>: ' + htmlEncode(message) + '</li>');
});
$.connection.hub.start().done(function() { //here
$('#sendmessage').click(function() {
// Call the Send method on the hub.
chat.server.send($('#displayname').val(), $('#message').val());
alert("hiii");
// Clear text box and reset focus for next comment.
$('#message').val('').focus();
});
});
并确保这个地址是好的 - <script src="http://localhost:39670/MySignalRServer/signalr/hubs"></script>
我一直用这个 - <script src="/signalr/hubs"></script>
并添加 HubName 属性
[HubName("ServerHub")]
public class ServerHub : Hub
{
public string Send(string name, string message)
{
Clients.All.broadcastMessage(name, message);
return null;
}
}
或更改此代码:
var chat = $.connection.ServerHub;
到
var chat = $.connection.serverHub;
这是我的 Signal R 客户端。 当我 运行 我的客户端时出现此错误。(0x800a139e - JavaScript 运行时间错误:SignalR:加载集线器时出错。确保您的集线器参考正确,例如。)
异常来自行 $.connection.hub.start
我的服务器应用程序的 HUBS 文件夹中有一个 ServerHub class,运行 没问题。
谁能帮帮我.. 谢谢
<script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
<script src="http://localhost:39670/MySignalRServer/signalr/hubs"></script>
var ChatHubProxy = $.hubConnection("http://localhost:39670/MySignalRServer/signalr/hubs");
var chat = ChatHubProxy.createHubProxy('ServerHub');
chat.on("addNewMessageToPage",function (name, message) {
// Add the message to the page.
$('#discussion').append('<li><strong>' + htmlEncode(name)
+ '</strong>: ' + htmlEncode(message) + '</li>');
});
$.connection.hub.start({jsonp:true}).done(function () {
$('#sendmessage').click(function () {
// Call the Send method on the hub.
chat.server.send($('#displayname').val(), $('#message').val());
alert("hiii");
// Clear text box and reset focus for next comment.
$('#message').val('').focus();
});
});
尝试将您的代码更改为:
<script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
<script src="http://localhost:39670/MySignalRServer/signalr/hubs"></script>
var chat = $.connection.ServerHub; //here
chat.on("addNewMessageToPage", function(name, message) {
// Add the message to the page.
$('#discussion').append('<li><strong>' + htmlEncode(name)
+ '</strong>: ' + htmlEncode(message) + '</li>');
});
$.connection.hub.start().done(function() { //here
$('#sendmessage').click(function() {
// Call the Send method on the hub.
chat.server.send($('#displayname').val(), $('#message').val());
alert("hiii");
// Clear text box and reset focus for next comment.
$('#message').val('').focus();
});
});
并确保这个地址是好的 - <script src="http://localhost:39670/MySignalRServer/signalr/hubs"></script>
我一直用这个 - <script src="/signalr/hubs"></script>
并添加 HubName 属性
[HubName("ServerHub")]
public class ServerHub : Hub
{
public string Send(string name, string message)
{
Clients.All.broadcastMessage(name, message);
return null;
}
}
或更改此代码:
var chat = $.connection.ServerHub;
到
var chat = $.connection.serverHub;