SignalR 2不工作

时间:2016-01-04 22:17:51

标签: c# jquery asp.net asp.net-mvc signalr

因此,我在asp mvc 5中创建的chatapp没有任何反应。根据chrome Console,我没有得到任何javascript错误。

在Configuration方法的Startup中找到了这一行。

  

app.MapSignalR();

ChatHub类

public class ChatHub : Hub
    {
        public void Send(string name, string message)
        {
            // Call the broadcastMessage method to update clients.
            Clients.All.broadcastMessage(name, message);
        }
    }

聊天视图,下面的第一行,工作正常,我已经在源代码中看到了它。最后的js行甚至没有被执行,因为文本框没有被清除。

<input type="hidden" id="displayname" value="@User.Identity.GetUserName()" />
 <ul id="realChat" class="chat">

        <!-- MESSAGES GO HERE -->

    </ul>

    <!-- MESSAGE -->
    <input id="btn-input" type="text" class="form-control input-sm" placeholder="Type your message here..." />
    <span class="input-group-btn">

        <!-- SEND BUTTON -->
        <button class="btn btn-warning btn-sm" id="btn-chat">Send</button>
    </span>

    <script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
    <script src="~/signalr/hubs"></script>

    <script type="text/javascript">
        $(function () {
            // Declare a proxy to reference the hub.
            var chat = $.connection.chatHub;
            // Create a function that the hub can call to broadcast messages.
            chat.client.broadcastMessage = function (name, message) {
                // Html encode display name and message.
                var encodedName = text(name).html();
                var encodedMsg = text(message).html();
                // Add the message to the page.
                $('#realChat').append(" <li class='clearfix'><div class='chat-body clearfix'> <strong style='color: red' class='primary-font'>"+encodedName+"</strong>:<span>"+encodedMsg+"Ls</span></div></li>");
            };
            // Set initial focus to message input box.
            $('#btn-input').focus();
            // Start the connection.
            $.connection.hub.start().done(function () {
                $('#btn-chat').click(function () {
                    // Call the Send method on the hub.
                    chat.server.send($('#displayname').val(), $('#btn-input').val());
                    // Clear text box and reset focus for next comment.
                    $('#btn-input').val('').focus();
                });
            });
        });
    </script>

编辑:在我看来有些不对劲,我创建了一个新的html页面并粘贴了所有html http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr并且它有效。仍然不知道我的视图中的问题是什么

1 个答案:

答案 0 :(得分:0)

这可能是有史以来最糟糕的答案,但我得到了它的工作。我不知道如何,我只是重写了一切,现在就可以了。

新聊天视图

DerivedType