signalR的简单例子不工作(Simple example of signalR not work

2019-07-30 08:29发布

没能获得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>

Answer 1:

今天,我用同样的问题的工作。

首先,你需要的属性附加伤害添加到您的集线器的名称,如下:

[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);
    });        
 });

我希望这个对你有用。



Answer 2:

请从安装的NuGet 1.0版本SignalR的为好。 从你的脚本引用它看起来像你正在使用0.5.2,在写这篇文章的时候支持的最新版本是1.0。 请从下载的NuGet Microsoft.AspNet.SignalR



文章来源: Simple example of signalR not working
标签: signalr