当前位置: 首页 > news >正文

衡水龙腾网站建设如何给网站做引流

衡水龙腾网站建设,如何给网站做引流,城市建设管理网站,合肥住房和城乡建设部网站文章目录 前言模拟消息订阅发布使用注意事项 前言 我想做个简单的消息发布订阅功能,但是发现好像没有现成的工具类。要么就是Mqtt这种消息订阅发布。但是我只想程序内部进行消息订阅发布,进行程序的解耦。那没办法了,只能自己上了 模拟消息…

文章目录

  • 前言
  • 模拟消息订阅发布
    • 使用
    • 注意事项

前言

我想做个简单的消息发布订阅功能,但是发现好像没有现成的工具类。要么就是Mqtt这种消息订阅发布。但是我只想程序内部进行消息订阅发布,进行程序的解耦。那没办法了,只能自己上了

模拟消息订阅发布

在Utils 的MessageHelper
在这里插入图片描述

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace NetCore.Utils
{public class MessageHelper{public static List<Message> Messages = new List<Message>();/// <summary>/// 消息订阅/// </summary>public static void Subscribe(string topic, string key, Action<object> action){var model = Messages.Where(item => item.Topic == topic && item.Key == key).FirstOrDefault();if (model == null){model = new Message(){Topic = topic,Key = key,};Messages.Add(model);model.Actions.Add(action);}else if(model.Actions.Find(item => item.Equals(action)) == null){model.Actions.Add(action);}}/// <summary>/// 消息推送/// </summary>public static void Publish(string topic, string key, object value){var model = Messages.Where(item => item.Topic == topic && item.Key == key).FirstOrDefault();if (model != null){model.Actions.ForEach(item =>{item(value);});}}}public class Message{public string Topic { get; set; }public string Key { get; set; }public List<Action<object>> Actions { get; set; } = new List<Action<object>>();}}

使用

static void Main(string[] args)
{MessageHelper.Subscribe("Topic1", "key1", (res) =>{var _res = ((string Name, int Age))res;Console.WriteLine(_res.ToString());Console.WriteLine("我被调用了1");});MessageHelper.Subscribe("Topic2", "key1", (res) =>{Console.WriteLine("我被调用了2");});MessageHelper.Subscribe("Topic3", "key1", (res) =>{Console.WriteLine("我被调用了3");});MessageHelper.Subscribe("Topic4", "key1", (res) =>{Console.WriteLine("我被调用了4");});MessageHelper.Publish("Topic1","key1",(Name:"嘟嘟",Sex:"12"));Console.ReadLine();}

注意事项

这里我用了元祖来进行临时变量的传值。元祖如何使用请看我的另一篇文章。元祖用来做临时变量特别好用

C# 元祖,最佳的临时变量。

为了防止重复注入,我加了判断代码。

http://www.yayakq.cn/news/256780/

相关文章:

  • 网站建设项目收费标准wordpress主题调用编辑器
  • 只想怎样建设自己的销售网站北京企业建站
  • 文化传媒 网站设计wordpress 申请表单
  • 珠海做网站那家好野花免费资源观看
  • 上海网站公司doaction wordpress
  • 鞍山怎么样做一个自己的网站中国十大高端设计公司
  • 响应式网站制作软件wordpress调用作者头像
  • 最专业的网站建设哪家好专注营销型网站建设公司 做网站
  • wordpress开启多站点功百度广告代理商查询
  • 建立网站对吗wordpress调用模版
  • 网站建设湛江网站建设企业关键词
  • 北京市保障房建设投资中心网站首页网站升级中 模版
  • 长沙高端网站开发怎样下载黑龙江人社app
  • 遵义水网站建设主页模板
  • 备案ip 查询网站查询系统网站建设入门书籍
  • 电子商务知名网站自助友链平台
  • 兰州网站建设lst0931网站建设意见
  • 北流科技网站建设怎么做国际货运代理外贸网站
  • seo整站优化系统太仓苏州网站建设
  • wordpress怎么连接主机wordpress 自动seo插件
  • django做网站和js做网站制作 网站 盈利
  • 前程无忧网宁波网站建设类岗位鱼巴适设计师服务平台
  • 合肥快速建站在线咨询百度怎么注册店面地址
  • 福州网站seo公司jsp做的网站站 图标是tomcat的 怎么换
  • 网站开发需要英语襄阳网站seo公司
  • 网站的推广方式有哪些租服务器网站
  • 琼海做网站口碑安装钢结构网架公司
  • 国外网站404错误页苏州网络营销网站建设平台
  • 潜山网站建设全国建筑资质查询系统
  • 建网站做站长怎么赚钱外贸网站建设培训