微软SignalR案例解读和测试

目的:实现不同的界面同步更新数据

缺陷:网络发布后不能使用,没有加密处理

主体运行流程:

1.启动运行浏览器

2.执行Startup类中的app.MapSignalR();方法

3.引用JS脚本

4.脚本执行弹窗输入名字

5.在界面中输入值并按提交

6.提交的数据到ChatHub类中的Send()方法并执行 Clients.All.broadcastMessage(name, message);。

7. Clients.All.broadcastMessage(name, message);界面有声明过chatHub类的界面都会调用更新

8.改变界面的数据

官方案例地址:

http://code.msdn.microsoft.com/SignalR-Getting-Started-b9d18aa9

测试:

 $(function () {

            // 声明代理以引用集线器。
            var chat = $.connection.chatHub;

            //创建一个集线器可以调用广播消息的函数。
            chat.client.broadcastMessage = function (name, message) {

                // HTML编码显示名称和消息
                var encodedName = $('<div />').text(name).html();
                var encodedMsg = $('<div />').text(message).html();
                // 将消息添加到页面
                $('#discussion').append('<li><strong>' + encodedName
                    + '</strong>:&nbsp;&nbsp;' + encodedMsg + '</li>');
            };

            /*
            alert() 弹出个提示框 (确定) 
            confirm() 弹出个确认框 (确定,取消) 
            prompt() 弹出个输入框 让你输入东西*/
            //获取用户名并将其存储在消息中
            $('#displayname').val(prompt('Enter your name:', ''));
           // $('#displayname').val("35");
            // 将初始焦点设置为消息输入框
            $('#message').focus();

            // 启动连接。
            $.connection.hub.start().done(function () {
                $('#sendmessage').click(function () {

                    // 调用集线器上的发送方法
                    chat.server.send($('#displayname').val(), $('#message').val());
                    // 清除文本框并重新设置下一个注释的焦点

                    $('#message').val('').focus();
                });
            });
        });

主要是上面的函数起到界面的更新。

总之:1.弹框输入 #displayname 的值。2.chat.server.send($('#displayname').val(), $('#message').val());获取输入框的值。3.执行方法send()4.Js脚本识别声明过的界面从而更新重新连接。

能实现界面的同步更新,另外一个界面不去要做任何操作。

个人理解:

是服务器向界面发送数据,界面接收,js处理。

模型:

界面1输入(更新)——》Api——》界面2更新

还不够的地方:

1.还没和实体类结合测试

2.没有和数据库结合

3.没有真正的形成API模型

4.没有加密处理

5.没有实现多用户测试

希望朋友们提供解决方案,谢谢了。

程序开发(ASP.NET、C#)、网站建设(H5)、小程序、公众号等相关开发联系QQ:1174787689 备注 程序开发合作

猜你喜欢

转载自blog.csdn.net/weixin_42401291/article/details/83658278