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

干零活一天一结的平台郑州网站优化平台

干零活一天一结的平台,郑州网站优化平台,WordPress集成tipask,邢台集团网站建设费用文章目录 前言模拟消息订阅发布使用注意事项 前言 我想做个简单的消息发布订阅功能,但是发现好像没有现成的工具类。要么就是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.hkea.cn/news/923144/

相关文章:

  • 开发简单小程序公司深圳网站优化哪家好
  • 网站开发劣势搜索引擎排名优化
  • 桂林网站优化公司企业网络营销顾问
  • 上海外贸出口代理公司排名搜索引擎优化的主要工作有
  • 一般做企业网站需要什么资料广告咨询
  • 广州网站建设兼职网站为什么要做seo
  • 中企动力官网 网站怎么在平台上做推广
  • 教育培训网站建设方案广告宣传费用一般多少
  • 计算机网站设计论文营销排名seo
  • 源码资源国内专业seo公司
  • 丽水微信网站建设报价免费精准客源
  • 广东建设工程中标公示网站google搜索引擎优化
  • 南宁老牌网站建设公司正版google下载
  • 网站做信用认证有必要吗微信朋友圈推广平台
  • 电子政务网站建设要求百度关键词规划师
  • 博客网站开发毕设免费大数据分析网站
  • 深圳教育平台网站建设好消息疫情要结束了
  • 国外设计文章的网站淘宝代运营靠谱吗
  • 市桥网站建设sem论坛
  • 猎头公司是做什么的可靠吗排名优化外包公司
  • 扶贫网站建设关键词查询神器
  • 沈阳酒店企业网站制作公司2023年9月疫情又开始了吗
  • 厦门专业网站建设如何快速推广一个新产品
  • 帮人做传销网站违法吗seo网站排名助手
  • 如何做优品快报下的子网站营销型网站建设目标
  • 用织梦做网站调用乱码营业推广是什么意思
  • 做走私网站北京口碑最好的it培训机构
  • 网站建设OA系统开发it培训机构哪家好
  • 网站运维可以做哪些域名查询网站入口
  • 网站开发的基本语言外贸平台自建站