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

网站宽度960最专业的礼品网站实例

网站宽度960,最专业的礼品网站实例,各大门户网站怎么做推广,网站建设自评报告文章目录 前言模拟消息订阅发布使用注意事项 前言 我想做个简单的消息发布订阅功能,但是发现好像没有现成的工具类。要么就是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/719666/

相关文章:

  • html5自适应网站模版怎么查自己的二建信息
  • 医院网站系统源码网站基础三要素
  • 涿州网站制作多少钱网站搭建本地环境
  • 网站建设公司取名电子商务网站建设与管理基础
  • 网站建设公司企业模板下载璧山职教中心示范校建设网站
  • 院校网站建设对比分析实训报总结织梦网站转移
  • 网站后台管理系统很慢网络营销策略分析方法
  • 网站建设模块分析申报教学成果奖网站建设
  • 网站可以做多少优化关键词软件开发的阶段
  • 网站开发架构图网站建成
  • 梅州网站优化公司网站推广服务chuseo
  • 企业网站建设公司网络服务用手机域名做网站
  • 网站建设中小企业广西软件推广计划
  • 做网站的文章在线制图网
  • 建设网站的知识2021营业执照年检网上申报
  • flash做网站重庆做网站哪家好
  • 童程童美编程地址在哪里连云港权威网站优化服务
  • 特色个人网站河南省建设网站首页
  • 网站建设nayuwangwordpress图片文件目录下
  • 萝卜建站分类信息专门做西装网站
  • wordpress如何建企业站网上书店网站建设规划书
  • 昆明餐饮网站建设佛山做网站3000
  • 飞沐网站建设公司北京中国矿山建设网站
  • 南通建设局网站查询北京WordPress爱好者
  • 网站获取访客qq号码苏州微网站制作
  • 可以自己做免费网站吗什么是自助网站
  • 南皮县网站建设做网站哪里找程序员
  • 什么叫网站定位小红书搜索指数
  • 淄博建设工程学校官方网站公司网站费用怎么做会计分录
  • 网络科技公司网站源码下载一流的内蒙古网站建设