ASP signalR简单服务器推送功能

此文章简单清楚的实现了由后端服务器推送消息给前端的实例,不足之处,欢迎探讨!

推送功能其实很简单, 跟着下面步骤走!
1. 必须在 .net4.5 环境下 (其他没试过,可以实现,但复杂)
2. 在工具选项中-NuGet程序包管理器-程序包管理器控制台-输入Install-Package Microsoft.AspNet.SignalR
3. 在程序中会自动生成script文件ASP signalR简单服务器推送功能_第1张图片
4. 接下来添加HTML文件 里面有注释 自己看了哦 n_n


    <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>title>
    <script src="Scripts/jquery-1.6.4.min.js">script>
    <script src="Scripts/jquery.signalR-2.2.0.min.js">script>    
    
    <script src="signalr/hubs">script> 
head>
<body >
    <div>
        <input type="text" id="message" />
        <input type="button" id="sendmessage" value="Send" /><br /><br />
        <textarea id="messageBox" placeholder="此message 由后台推送" readonly cols="30" rows="5">textarea>
    div>
    <script type="text/javascript">
        $(function () {
            // 【1】声明代理引用
            var con = $.connection.pushHub;

            // 【2】创建方法可以调用广播消息的功能。
            con.client.broadcastMessage = function ( message) {
                $("#messageBox").val(message);
            };
            // 【3】开始连接
            $.connection.hub.start().done(function () {
                $('#sendmessage').click(function () {
                    // 【4】服务器的发送方法
                    con.server.send($('#message').val());
                });
            });
        });
    script>
body>
html>

5.加个服务器推送类

using Microsoft.AspNet.SignalR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;

namespace SignalRChat
{
    public class PushHub : Hub
    {
        public void Send(string message)
        {
            Clients.All.broadcastMessage(   message);
        }
    }
}

6.再加个初始化

using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            //任何连接或引用连线和配置都应该在这里
            app.MapSignalR();
        }
    }
}

好了…就这么简单 可以测试用了 还可以扩展简单局域网聊天等
ASP signalR简单服务器推送功能_第2张图片

实在懒的话 我稍会给个demo 吧!

    //声明全局变量
    //public static IHubContext GetHubContext()
    //{
        //return GlobalHost.ConnectionManager.GetHubContext();
    //}

你可能感兴趣的:(html)