SignalR的简单使用

   在学习Comet技术的时候,发现有SiganlR的类库使用起来不错,而且使用起来也特别方便,没用什么特别复杂的配置和编码。
    SignalR的代码分为服务器端的后台代码和前端的js代码。
对于服务器端,需要建立一个SignalR的文件夹,然后里面添加相应消息处理类,这些类必须继承Hub类,同时需要设置该类的HubName属性(客户引用属性名字动态js代码)

    [HubName("messageHub")]
    public class MessageHub : Hub
    {
        public void Send(string message)
        {
            this.Clients.addMessage(message);
        }
    }
 

    对于客户端,除了引用一些基本的Signal和jquery的辅助js库外,还有一个很重要的引用js,即服务端SignalR文件下面的服务js文件(SignalR会根据上面HubName的属性名字生成一个相应的js文件),这个文件里面相应的对象负责实际的接收和发送数据的工作。

<script src="../../Scripts/jquery.signalR.min.js" type="text/javascript"></script>
<script src="../../Scripts/json2.min.js" type="text/javascript"></script>
<script src="/signalr/hubs" type="text/javascript"></script>
<script type="text/javascript">
    $(function () {
        var messageHub = $.connection.messageHub;
        messageHub.addMessage = function (message) {
            $('#ulLog').append('<li>' + message + "</li>")
        };
        $.connection.hub.start();

        $("#btnOK").click(function () {
            var message = document.getElementById("txtInput").value;
            if (message != "") {
                messageHub.send(message);
            }
        });
    });
</script>
    SignalR屏蔽底层comet连接具体细节,系统只需要关注发送接收数据即可,暂时测试SignalR负载能力,可以深入一下。

用例代码见附件


引用

SignalR Github 

SignalR 

用SignalR创建实时永久长连接异步网络应用程序 

ASP.NET MVC 3 Real Time Collaborative Apps with SignalR 

Asynchronous scalable web applications with real-time persistent long-running connections with SignalR 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值