gpt4 book ai didi

signalr - signalR 不起作用的简单示例

转载 作者:行者123 更新时间:2023-12-04 20:50:21 26 4
gpt4 key购买 nike

无法让 SignalR 在我的机器上工作(使用 IE9)。在输入一些文本并单击提交时,文本未按预期列出。另外,我希望从多个浏览器实例更新列表,但它不会发生。没有错误。有人可以帮忙吗?

C#

namespace TestSignalR.Hubs
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for ChatHub.
/// </summary>
public class ChatHub : SignalR.Hubs.Hub
{
public void TestMessage(string message)
{
Clients.writeMessage(message);
}
}
}

ASPX


<input type="text" name="txtInput" id="txtInput" />
<button id="btnSubmit">Submit</button>

<ul id="messages">
</ul>
<script type="text/javascript" src="SignalR/Hubs"></script>
<script type="text/javascript">
$(document).ready(function (message) {
var chat = $.connection.chatHub;

chat.writeMessage = function (message) {
$("#messages").append("<li>" + message + "</li>");
};

$("#btnSubmit").click(function () {
var text = $("#txtInput").val();
chat.testMessage(text);
});

$.connection.hub.start();
});

</script>

母版页具有 JQuery 和 SignalR 文件的引用:-
<script src="Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.signalR-0.5.2.min.js" type="text/javascript"></script>

最佳答案

今天我正在处理同样的问题。

首先,您需要使用名称向 Hub 添加一个属性,如下所示:

[HubName("chathub")]
public class ChatHub : SignalR.Hubs.Hub

接下来要做的是更改您在 javascript 中的调用顺序。您需要在实例化集线器旁边进行连接。
因此,代码将如下所示:
$(document).ready(function (message) {
var chat = $.connection.chatHub;

$.connection.hub.start();

chat.writeMessage = function (message) {
$("#messages").append("<li>" + message + "</li>");
};

$("#btnSubmit").click(function () {
var text = $("#txtInput").val();
chat.testMessage(text);
});
});

我希望这个对你有用。

关于signalr - signalR 不起作用的简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11425356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com