Signalr 信号机不工作的简单示例

Signalr 信号机不工作的简单示例,signalr,Signalr,无法让信号器在我的机器中工作(使用IE9)。在输入某些文本并单击提交时,该文本未按预期列出。此外,我希望列表从浏览器的多个实例中得到更新,但这种情况不会发生。没有错误。有人能帮忙吗 C# namespace testsignal.Hubs { 使用制度; 使用System.Collections.Generic; 使用System.Linq; 使用System.Web; /// ///ChatHub的摘要说明。 /// 公共类聊天中心:SignalR.Hubs.Hub { 公共void测试消

无法让信号器在我的机器中工作(使用IE9)。在输入某些文本并单击提交时,该文本未按预期列出。此外,我希望列表从浏览器的多个实例中得到更新,但这种情况不会发生。没有错误。有人能帮忙吗

C#
namespace testsignal.Hubs
{
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
/// 
///ChatHub的摘要说明。
/// 
公共类聊天中心:SignalR.Hubs.Hub
{
公共void测试消息(字符串消息)
{
客户端。writeMessage(消息);
}
}
}
ASPX


提交
$(文档).ready(功能)(消息){ var chat=$.connection.chatHub; chat.writeMessage=函数(消息){ $(“#消息”)。追加(“
  • ”+消息+”
  • ”); }; $(“#btnsupmit”)。单击(函数(){ var text=$(“#txtInput”).val(); testMessage(文本); }); $.connection.hub.start(); });

    母版页包含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>
    

    今天我正在处理同一个问题

    首先,您需要向中心添加一个名为atribute的药物,如下所示:

    [HubName("chathub")]
    public class ChatHub : SignalR.Hubs.Hub
    
    $(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);
        });        
     });
    
    接下来要做的是更改javascript中调用的顺序。您需要在实例化集线器的旁边进行连接。 因此,代码如下所示:

    [HubName("chathub")]
    public class ChatHub : SignalR.Hubs.Hub
    
    $(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);
        });        
     });
    
    $(文档).ready(功能)(消息){
    var chat=$.connection.chatHub;
    $.connection.hub.start();
    chat.writeMessage=函数(消息){
    $(“#消息”)。追加(“
  • ”+消息+”
  • ”); }; $(“#btnsupmit”)。单击(函数(){ var text=$(“#txtInput”).val(); testMessage(文本); }); });

    我希望它能为您工作。

    请从Nuget安装1.0版本的SignalR。从您的脚本引用来看,您似乎正在使用0.5.2,撰写本文时支持的最新版本是1.0。请从Nuget下载Microsoft.AspNet.signar

    代码没有问题,在我的机器上运行。只有jquery 1.7.2的区别。你检查过IE9中是否找到所有js脚本了吗?Nuget SignalR附带了“jquery-1.6.4.min.js”。@Wim,你说的“如果所有js脚本都在IE9中找到了”是什么意思?在IE9开发工具脚本中,你能看到所有javascript文件吗?这不应该是
    chat.client.writeMessage
    chat.server.testMessage