亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

基于ajax與msmq技術的消息推送功能實現代碼

2019-11-19 18:16:21
字體:
來源:轉載
供稿:網友

周末在家搗鼓了一下消息推送的簡單例子,其實也沒什么技術含量,歡迎大伙拍磚。

我設計的這個推送demo是基于ajax長輪詢+msmq消息隊列來實現的,具體交互過程如下圖:

先說說這個ajax長輪詢,多長時間才算長呢?這個還真不好界定。

這里是相對普通ajax請求來說的,通常處理一個請求也就是毫秒級別的時間。但是這里的長輪詢方式

在ajax發送請求給服務器之后,服務器給調用端返回數據的時間多長那可還真不好說。嘿嘿,這關鍵要看

我們啥時候往msmq隊列中推送數據了,先看看推送的效果圖吧。。。。。

抱歉,沒弄張動態效果圖給大家。實現的功能大體上就是這樣。上圖中的winform程序中我們點擊即刻發送按鈕,同時網頁上我們就能看到新推送的數據。

好了,說完具體實現流程和效果之后馬上就開始編碼實現吧。。。。

消息推送Winform程序代碼

namespace SenderApp{  public partial class Form1 : Form  {    private string queueName = @"./Private$/pushQueue";    private MessageQueue pushQueue = null;        public Form1()    {      InitializeComponent();    }    private void button1_Click(object sender, EventArgs e)    {      try      {        var queue = this.GetQueue();        if (string.IsNullOrEmpty(this.textBox1.Text)) { this.label1.Text = "推送消息不能為空"; return; }        queue.Send(this.textBox1.Text, "messagePush");        this.label1.Text = "消息推送成功";      }      catch (Exception ex)      {        this.label1.Text = string.Format("消息推送失敗:{0}",ex.Message);      }    }    private MessageQueue GetQueue()    {      if (this.pushQueue == null)      {        if (!MessageQueue.Exists(queueName))        {          this.pushQueue = MessageQueue.Create(queueName);        }        else        {          this.pushQueue = new MessageQueue(queueName);        }      }      return this.pushQueue;    }    private void textBox1_MouseDown(object sender, MouseEventArgs e)    {      this.textBox1.Text = "";      this.label1.Text = "推送狀態";    }  }}

Web服務端代碼

namespace MessagePushWeb.Controllers{  public class HomeController : Controller  {    private static string queueName = @"./Private$/pushQueue";    private static MessageQueue pushQueue = null;    public ActionResult Index()    {      return View();    }    public async Task<ActionResult> GetMessage()    {      string msg = await Task.Run(() => {        return this.ReadMessage();      });            return Content(msg);    }    private MessageQueue GetQueue()    {      if (pushQueue == null)      {        if (MessageQueue.Exists(queueName))        {          pushQueue = new MessageQueue(queueName);          pushQueue.Formatter = new XmlMessageFormatter(new string[] { "System.String" });        }      }      return pushQueue;    }    private string ReadMessage()    {      var queue = GetQueue();      Message message = queue.Receive();      return message.Body.ToString();    }  }}

頁面視圖代碼

@{  ViewBag.Title = "Push";}<h2>Push</h2><div>接收消息列表</div><div id="msg"></div><script type="text/javascript">  $(function () {    getMessage();  });  function getMessage() {    $.get("/home/getmessage", {}, function (data) {      var _msg = $("#msg").html();      $("#msg").html(_msg + "<li>" + data + "</li>");      getMessage();    });   }</script>

當然,在這個只是一個初級的消息推送demo,是否能勝任生產環境的需要還有待考證。

如果你也有更好的實現和建議,都歡迎留言給我。

源碼在這里:http://pan.baidu.com/s/1hsHSLTy

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频专区| 亚洲成人激情在线观看| 日韩成人免费视频| 亚洲欧美激情精品一区二区| 日韩电影在线观看永久视频免费网站| 亚洲最新中文字幕| 日韩中文字幕精品视频| 国产97在线观看| 中文字幕日韩在线播放| 亚洲国产天堂久久综合网| 欧美激情第1页| 全亚洲最色的网站在线观看| 欧美黄色www| 欧美性猛交99久久久久99按摩| 日韩视频一区在线| 欧美中文字幕在线| 在线播放精品一区二区三区| 久久久女人电视剧免费播放下载| 久久久久久一区二区三区| 欧美性高潮在线| 亚洲一区二区三区xxx视频| 精品欧美国产一区二区三区| 北条麻妃一区二区在线观看| 久久久久久久一| 97久久久久久| 中文字幕欧美日韩va免费视频| 精品中文字幕在线2019| 久久99精品国产99久久6尤物| 国产精品久久久久久久久久东京| 欧美激情视频给我| 欧美日韩午夜剧场| 一区三区二区视频| 久久久久久久久久av| 精品亚洲一区二区三区在线观看| 亚洲天堂久久av| 中文字幕在线亚洲| 久久国产精品视频| 黄色一区二区在线| 国产日韩在线亚洲字幕中文| 97超级碰碰碰久久久| 亚洲第一区中文99精品| 欧美激情一区二区久久久| 国产日本欧美在线观看| 亚洲综合中文字幕在线| 亚洲人在线观看| 亚洲国产欧美精品| 一区二区三区美女xx视频| 色偷偷噜噜噜亚洲男人| 欧美亚洲国产视频小说| 日韩中文字幕视频在线| 第一福利永久视频精品| 亚洲人成电影网站色| 黑人狂躁日本妞一区二区三区| 久久精品久久久久| 久久国产精品久久久久久久久久| 久久av在线播放| 在线免费看av不卡| 2019国产精品自在线拍国产不卡| 亚洲高清久久久久久| 黑人巨大精品欧美一区免费视频| 成人在线视频网站| 亚洲精品www久久久久久广东| 欧美最顶级丰满的aⅴ艳星| 日韩av色在线| 在线激情影院一区| 成人在线免费观看视视频| 亚洲图片制服诱惑| 成人444kkkk在线观看| 精品国产91久久久| 久久久久久成人| 亚洲欧美日韩国产中文| 中文字幕精品国产| 国内精品在线一区| 国产一区玩具在线观看| 精品久久久久久中文字幕一区奶水| 国产精品一二三视频| 久久精品视频在线播放| 久久久精品亚洲| 亚洲免费视频网站| 久久久最新网址| 成人乱色短篇合集| 91久久精品美女高潮| 亚洲欧美在线播放| 欧洲日韩成人av| 日本欧美中文字幕| 国产亚洲精品美女久久久久| 在线亚洲男人天堂| 5252色成人免费视频| 亚洲欧美成人在线| 欧美激情视频网站| 国产91精品青草社区| 日韩精品中文字幕在线| 日韩av快播网址| 亚洲欧美制服综合另类| 国产精品精品一区二区三区午夜版| xxav国产精品美女主播| 亚洲精品女av网站| 国产精品第3页| 亚洲性线免费观看视频成熟| 久久久精品一区二区三区| 精品久久久久久中文字幕| 久久在线免费视频| 久久伊人色综合| 日韩中文字幕国产精品| 91精品免费久久久久久久久| 久久精品国产成人| 亚洲成av人乱码色午夜| 91嫩草在线视频| 欧美一级视频一区二区| 久久久久久久999精品视频| 精品国产网站地址| 欧美精品激情在线| 亚洲精品久久久久久久久久久| 久久久久这里只有精品| 国产精品日韩在线| 欧美精品在线免费播放| 美女撒尿一区二区三区| 久久夜色精品国产亚洲aⅴ| 亚洲最大成人在线| 国产精品国产自产拍高清av水多| 亚洲a级在线播放观看| 久久国产精品亚洲| 亚洲精品www久久久| 欧美日本黄视频| 国产成人精品综合| 日韩av在线一区二区| 久久久亚洲国产天美传媒修理工| 伊人久久久久久久久久久久久| 欧美日韩亚洲激情| 91精品免费看| 日韩毛片中文字幕| 91高清视频免费观看| 欧美一级免费看| 久久亚洲影音av资源网| 国产精品视频免费观看www| 亚洲欧美一区二区三区在线| 久久久久久久国产精品| 欧美黑人性视频| 国产成人a亚洲精品| 日本不卡免费高清视频| 亚洲综合在线播放| 在线观看精品自拍私拍| 亚洲另类图片色| 国模视频一区二区三区| 国产精品久久久久久亚洲影视| 日韩中文字幕免费| 日韩欧美成人区| 欧美裸体xxxx极品少妇| 欧美亚洲激情在线| 亚洲自拍偷拍第一页| 中文国产成人精品久久一| 免费99精品国产自在在线| 欧洲成人免费aa| 国产精品吹潮在线观看| 亚洲精品久久久久久久久久久久久| 久久精品国产亚洲一区二区| 亚洲美女精品久久| 日韩欧美国产网站| 国产日韩欧美自拍| 亚洲第一福利视频| 亚洲一区二区久久久久久| 亚洲精品一区二区网址| 亚洲国产精久久久久久久| 国产精品美女久久久久久免费|