![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
by_ron
性本善!
展开
-
TopShelf结合QuartzNet构建windows服务
一 、使用背景我们在项目中经常会用到定时计划任务,传统的实现方法总结起来有三种:通过winform的timer控件;控制台+windows计划任务;创建windows service。但以上几种均可以实现简单的定时任务,但缺点也显而易见,前两种在执行期间需要客户端一直运行,而如果此时恰好有处女座登录服务器,搞不准就给干掉了;windows service相对就比较正规了,不过安装的繁琐和配置不原创 2017-10-16 17:41:57 · 2571 阅读 · 0 评论 -
C#之RabbitMQ系列(二)--Hello World
生产者–消费者模式 上一篇讨论了如何搭建我们的开发环境,无论使用哪种语言,服务的部署肯定都是相同的。 摘自官网:RabbitMQ is a message broker. In essence, it accepts messages from producers, and delivers them to consumers. In-between, it can route,原创 2016-04-06 11:00:12 · 5645 阅读 · 0 评论 -
IIS最大工作进程数设置引发串号
在生产上,为了提升应用程序的并发数,我们会将最大工作进程数即w3wp(默认1)设置为2的N次方,不超过cpu数量。如下图:但是这种设置将导致同一客户端用户session串号。 具体场景就是,用户A登录后退出,使用B账号登录,页面中用户信息一会儿是B一会儿是A。 原因是什么呢?因为每个工作进程都有自己的状态数据,各进程的状态是独立的,重新登录只是访问了另外一个w3wp.exe,此时两个w原创 2017-09-19 10:25:41 · 3635 阅读 · 0 评论 -
C#之RabbitMQ系列(一)
RabbitMQ–环境搭建 能点进来相信你明白RabbitMQ是干什么的了,这个系列主要是本人根据RabbitMQ官网C#的Tutorials总结出来,旨在为新手提供手把手教学。接受大牛批评指正,共同学习,共同促进。安装Erlang安装RabbitMQ Server下载客户端dll(亦称驱动)一、Erlang安装RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器,原创 2016-04-01 09:45:47 · 9487 阅读 · 0 评论 -
Linq to JObject多层嵌套查询
使用Newtonsoft.Json来处理json字符串,反序列化后形成JObject对象(不使用自定义实体的情况下),大多数情况下我们需要逻辑处理后返给前端。这就需要对JObject中的值进行筛选,简单的获取我们通过JObject的索引器语法即可获得,比如jb["aaa"].ToString() 。但我遇到了更复杂的情况,json数据看下图: 我需要查找QueryActiveLimit原创 2018-01-25 18:07:07 · 4665 阅读 · 0 评论 -
C#之RabbitMQ系列(三)--Work Queues
工作队列 使用场景:Work Queue被用以处理大量耗时任务,与其等待任务处理完毕耗费大量cpu资源,还不如立即返回并交由代理worker随后处理message。消息持久化生产者和消费者的代码和上一节Publish-Consumer基本相同,唯一不同的是配置项的参数调整。代码如下:using System;using System.Collections.Gene原创 2018-01-08 16:29:40 · 1645 阅读 · 0 评论 -
异步模块或处理程序已完成,而当时仍有异步操作处于未定状态
关于异步方法中未捕获异常的建议检查每个await后的的异步方法,void返回一律改做TaskdemoList.ForEach(async c => await DosonthingAsync©),改成demoList.ForEachAsync(async c => await DosonthingAsync©),聪明的你肯定会发现这个坑,Action和Function的区别,后者...原创 2019-06-28 14:33:12 · 2538 阅读 · 0 评论