实时显示数据 SignalR 及时消息提醒( 立即向其推送内容)

时间:2022-10-13 10:23:56
实时显示数据  SignalR 及时消息提醒( 立即向其推送内容)
 <!--Reference the SignalR library. -->
    <script src="~/Scripts/jquery.signalR-2.2.1.min.js"></script>
    <!--Reference the autogenerated SignalR hub script. -->
    <script src="~/signalr/hubs"></script>
//消息推送初始化连接
        var msg = $.connection.messageHub;
        msg.client.NotifyUser = function (id,message) {
            var count = $('[data-msg-count]').html();
            $('[data-msg-count]').html(parseInt(count) + 1);
            $('[data-notification]').prepend(
                '<li data-layoutnotify-msg="' + id + '"><p><small class="clear"><i class="glyphicon glyphicon-menu-right text-blue"></i> ' + message
                + '<br /><t class="addi">' + new Date().toLocaleString() + '</t><a class="mark-btn" href="#" data-layout-msgmarksingle="' + id + '">已读</a></small></p></li>'
            );
            ui.notify(message).sticky().effect('slide');
        };
        $.connection.hub.start();
        $('[data-msg-btn]').click(function () {
            $('[data-msg-panel]').slideToggle();
        });
        //标记为已读
        $('[data-layoutnotify-markasread]').click(function () {
            var ids = '';
            $('[data-layoutnotify-msg]').each(function () {
                ids += $(this).attr('data-layoutnotify-msg') + ',';
                $(this).slideUp();
                var count = $('[data-msg-count]').html();
                $('[data-msg-count]').html(parseInt(count) - 1);
            });
            ids = ids.trim(',');
            $.post('/Notification/MarkAsRead', { ids: ids });
        });
        $('[data-notification]').on('click','[data-layout-msgmarksingle]',function () {
            var id = $(this).attr('data-layout-msgmarksingle');
            $('[data-layoutnotify-msg=' + id + ']').slideUp();
            var count = $('[data-msg-count]').html();
            $('[data-msg-count]').html(parseInt(count) - 1);
            $.post('/Notification/MarkAsRead', { ids: id });
        });
   Notifieaar.Process("0.00");
   DoFunction(funcAttr[0].ToString(), orgId, projId, templateId, aid, leve);
   Notifieaar.Process("100");
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;
using System.Threading.Tasks;
namespace Haifeng.Zichabao.Hubs
{
    [HubName("XEMHub")]
    public class XEMHub : Hub
    {
        public static List<XEMProcess> ConnectPool = new List<XEMProcess>();
    }
    /// <summary>
    /// 服务端通知Hub
    /// </summary>
    public class Notifieaar
    {
        private static readonly IHubContext Context = GlobalHost.ConnectionManager.GetHubContext<XEMHub>();
        /// <summary>
        /// 通知客户端信息
        /// </summary>
        ///process  进度
        public static void Process(string process)
        {
            Context.Clients.All.Show(process);
        }
    }
    /// <summary>
    /// 测试小而美进度
    /// </summary>
    public class XEMProcess
    {
        public decimal Process { get; set; }
    }
}