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

网站数字证书怎么做小红书信息流广告投放

网站数字证书怎么做,小红书信息流广告投放,wordpress安装双seo插件,桂林的网站建设公司.Net Core/.Net 6/.Net 8,一个简易的消息队列 身份验证接口身份验证接口实现program.cs通过api调用 做着玩的&#xff0c; 只实现了消息入队出队功能&#xff0c;没有持久化&#xff0c;也没有其它任何高级功能 直接上代码 public class AMQBase//:ISingleton {/// <summary…

.Net Core/.Net 6/.Net 8,一个简易的消息队列

    • 身份验证接口
    • 身份验证接口实现
    • program.cs
    • 通过api调用

做着玩的, 只实现了消息入队出队功能,没有持久化,也没有其它任何高级功能
直接上代码

public class AMQBase//:ISingleton
{/// <summary>/// 主题队列/// </summary>public Dictionary<string,Queue<EnQueueMsg>> queues {  get; set; }/// <summary>/// 验证用户,如果没有 IMQVerify 的实现,将不会验证用户/// </summary>readonly IMQVerify _verify;public AMQBase(IMQVerify verify) {_verify = verify;queues = new Dictionary<string, Queue<EnQueueMsg>>();/* 初始化时从 文件/数据库? 读取未消费消息? *//**/}/// <summary>/// 入队/// </summary>/// <returns></returns>public void EnQueue(EnQueueMsg msg) {if (_verify != null){if (!_verify.Verify(msg)){throw new Exception("身份验证失败");}}msg.msgid = Guid.NewGuid().ToString();//消息idEnQueueAsync(msg);}/// <summary>/// 异步执行入队/// </summary>/// <param name="msg"></param>/// <returns></returns>private async Task EnQueueAsync(EnQueueMsg msg){//新主题if (!queues.ContainsKey(msg.topic)){queues.Add(msg.topic, new Queue<EnQueueMsg>());}/* 异步存入文件/数据库? *//**///入队queues[msg.topic].Enqueue(msg);}/// <summary>/// 出队/// </summary>/// <param name="msg"></param>/// <returns></returns>public DeQueueData? DeQueue(DeQueueMsg msg){if (_verify != null){if (!_verify.Verify(msg)){throw new Exception("身份验证失败");}}//没有找到主题 或者队列为空if (!queues.ContainsKey(msg.topic)){return null;}if (queues[msg.topic].Count == 0){//主题队列为空,移除主题if (queues[msg.topic].Count == 0){queues.Remove(msg.topic);}return null;}//出队var mod=queues[msg.topic].Dequeue();var scount = queues[msg.topic].Count;//主题队列为空,移除主题if (queues[msg.topic].Count == 0){queues.Remove(msg.topic);}/* 异步 从文件/数据库 修改消息状态或删除? *//**/return new DeQueueData { msgid= mod.msgid,//消息idcoutent=mod.content,//消息内容topic= mod.topic,//主题count= scount//剩余未消费消息数量};}/// <summary>/// 获取主题列表/// </summary>/// <returns></returns>public string[] TopicList(){return queues.Keys.ToArray();}/// <summary>/// 获取全部的主题和未消费的消息数量/// </summary>/// <returns></returns>public List<MqCount> GetCount() { return queues.Select(x=>new MqCount { topic=x.Key,count=x.Value.Count}).ToList(); }/// <summary>/// 获取指定的主题和未消费的消息数量/// </summary>/// <returns></returns>public MqCount GetCount(string topic){if (!queues.ContainsKey(topic)) return null;return new MqCount{topic=topic,count = queues[topic].Count};}/// <summary>/// 删除主题,删除整个主题队列/// </summary>/// <param name="topic"></param>public async Task Remove(RemoveTopic rem){if (_verify != null){if (!_verify.Verify(rem)){throw new Exception("身份验证失败");}}queues.Remove(rem.topic);}}

身份验证接口

/// <summary>
/// 身份验证接口
/// </summary>
public interface IMQVerify//: ISingleton
{public bool Verify(MqMegBase mqMeg);
}

身份验证接口实现

    public class AMQVerify : IMQVerify//,ISingleton{public bool Verify(MqMegBase mqMeg){if (mqMeg.user == "mq" && mqMeg.password == "123456") return true;return false;}}

program.cs

    builder.Services.AddSingleton<IMQVerify, AMQVerify>();builder.Services.AddSingleton<AMQBase>();

通过api调用

    [ApiController, Route("[controller]/[action]")]public class AMQController : Controller{readonly AMQBase _mq;public AMQController(AMQBase mq){_mq = mq;}/// <summary>/// 入队/// </summary>/// <param name="msg"></param>[HttpPost]public async Task  EnQueue(EnQueueMsg msg){_mq.EnQueue(msg);}/// <summary>/// 出队/// </summary>/// <param name="msg"></param>/// <returns></returns>[HttpPost]public async Task<JsonResult> DeQueue(DeQueueMsg msg){return Json(_mq.DeQueue(msg));}/// <summary>/// 获取主题列表/// </summary>/// <returns></returns>[HttpGet]public JsonResult TopicList(){return Json(_mq.TopicList());}/// <summary>/// 获取全部的主题和未消费的消息数量/// </summary>/// <returns></returns>[HttpGet]public JsonResult GetCount(){return Json(_mq.GetCount());}/// <summary>/// 获取指定的主题和未消费的消息数量/// </summary>/// <param name="topic"></param>/// <returns></returns>[HttpGet]public JsonResult GetTopicCount(string topic){return Json(_mq.GetCount(topic));}/// <summary>/// 删除主题/// </summary>/// <param name="rem"></param>[HttpPost]public void Remove(RemoveTopic rem){_mq.Remove(rem);}}
http://www.mmbaike.com/news/92650.html

相关文章:

  • 微信网站建设报价b站暴躁姐
  • 视频网站建设服务长沙网络推广
  • 网站到底是域名需要备案还是空间公司网站首页设计
  • 男女性做那个视频网站在百度上做广告推广要多少钱
  • 网站如何做支付系统买链接官网
  • 视频模板在线制作网站爱链接购买链接
  • 番禺建设网站报价搜索引擎调价工具哪个好
  • wordpress采集工具搜索引擎优化不包括
  • cms内容网站管理系统什么是长尾关键词举例
  • 上外国网站用什么dns邀请推广app
  • Wordpress百万访问优化站长工具seo综合查询问题
  • 潍坊网站定制注册网站免费注册
  • 好网站建设公司的网站app开发需要多少费用
  • 如何自制作网站汽车宣传软文
  • 菜鸟怎样做自己的网站天津seo外包团队
  • 做外贸推广的网站有哪些中国舆情在线
  • 长沙大型网站设计公司最新足球消息
  • 做网站去哪里找客户seo优化网页
  • 短链接生成器免费seo网站推广多少钱
  • wordpress排行榜前面小图标快速优化关键词排名
  • 备案网站忘记密码百度官网app
  • wordpress login with ajaxseo推广软件哪个好
  • 网站紧急维护品牌咨询
  • 用书籍上的文章做网站SEO口碑营销案例简短
  • 苏州建网站皆去苏州聚尚网络沈阳seo收费
  • 网站运营的内容希爱力双效片的作用与功效
  • 创建网站用英语怎么说网络营销的核心是
  • 政府门户网站建设合同百度软件应用中心
  • 网站做镜像是什么域名服务器ip查询网站
  • 做网站建设业务员怎么样必应搜索国际版