Fork me on GitHub

随笔分类 -  C#

摘要:ScheduleMaster在上个月底更新到了2.0版本,在功能和代码以及文档上都往前跨了很大一步,详细信息可以参考这篇文章:https://www.cnblogs.com/hohoa/p/12772945.html 对ScheduleMaster还不熟悉的朋友可以先移步作者的系列文章:https: 阅读全文
posted @ 2020-05-18 21:16 balahoho 阅读(922) 评论(2) 推荐(7) 编辑
摘要:从1月份首次公开介绍这个项目到现在也快4个月了,期间做了一些修修补补整体没什么大的改动。2.0算是发布之后第一个大的版本更新,带来了许多新功能新特性,也修复了一些已知的bug,在此感谢在博客、Issue和QQ群中提出各种意见的朋友,以及指导过我的前辈大佬们。 在我看来,这个项目没有使用任何高深的技术 阅读全文
posted @ 2020-04-26 21:56 balahoho 阅读(2176) 评论(3) 推荐(8) 编辑
摘要:在上一篇 "《走进C 并发队列ConcurrentQueue的内部世界》" 中解析了Framework下的 实现原理,经过抛砖引玉,得到了一众大佬的指点,找到了.NET Core版本下的 源码,位于以下地址: https://github.com/dotnet/runtime/blob/master 阅读全文
posted @ 2020-04-19 20:27 balahoho 阅读(4468) 评论(4) 推荐(30) 编辑
摘要:决定从这篇文章开始,开一个读源码系列,不限制平台语言或工具,任何自己感兴趣的都会写。前几天碰到一个小问题又读了一遍ConcurrentQueue的源码,那就拿C 中比较常用的并发队列ConcurrentQueue作为开篇来聊一聊它的实现原理。 话不多说,直奔主题。 要提前说明下的是,本文解析的源码是 阅读全文
posted @ 2020-04-07 09:02 balahoho 阅读(10217) 评论(12) 推荐(51) 编辑
摘要:概述 ScheduleMaster 是一个开源的分布式任务调度系统,它基于Asp.Net Core平台构建,支持跨平台多节点部署运行。 它的项目主页在这里: "https://github.com/hey hoho/ScheduleMasterCore" 关于它的简单介绍可以看这里: "https: 阅读全文
posted @ 2020-01-15 17:06 balahoho 阅读(5930) 评论(9) 推荐(11) 编辑
摘要:从何说起 2017年初的时候,由于当时项目需要做了一个乞丐版定时调度系统,那时候只在单机上实现了核心的调度功能。做这个玩意之前也调研了社区中开源的解决方案,找了几个实地部署试跑了一下,其实都很不错。但那时候我们有个问题就是应用都是基于Azure WebApp去部署,不太想为了这个东西搞一台虚拟机来跑 阅读全文
posted @ 2020-01-09 16:30 balahoho 阅读(9093) 评论(42) 推荐(73) 编辑
摘要:从何说起 前些天和朋友讨论一个问题,他们的应用有几十万会员然后对应有积分,现在想做积分排名的需求,问有没有什么好方案。这个问题也算常见,很多地方都能看到,常规做法一般是数据定时跑批把计算结果到中间表然后直接查表就行,或者只显示个TOP N的排行榜,名次高的计算真实名次,名次比较低的直接显示在xxx名 阅读全文
posted @ 2020-01-06 08:50 balahoho 阅读(2206) 评论(10) 推荐(34) 编辑
摘要:从何说起 这来自于我把项目迁移到Asp.Net Core的过程中碰到一个问题。在一个web程序中同时包含了MVC和WebAPI,现在需要给WebAPI部分单独添加一个接口验证过滤器IActionFilter,常规做法一般是写好过滤器后给需要的控制器挂上这个标签,高级点的做法是注册一个全局过滤器,这样 阅读全文
posted @ 2020-01-02 20:00 balahoho 阅读(2259) 评论(4) 推荐(18) 编辑
摘要:故事背景 最近在把自己的一个老项目从Framework迁移到.Net Core 3.0,数据访问这块选择的是EFCore+Mysql。使用EF的话不可避免要和DbContext打交道,在Core中的常规用法一般是:创建一个XXXContext类继承自DbContext,实现一个拥有DbContext 阅读全文
posted @ 2019-11-18 20:24 balahoho 阅读(2387) 评论(8) 推荐(5) 编辑
摘要:前段时间由于项目上的需求,要在.Net平台下实现把HTML内容生成图片或PDF文件的功能,特意在网上研究了几种方案,这里记录一下以备日后再次使用。当时想着找一种开发部署都比较清爽并且运行稳定的方案,但实际上两者同时满足基本不可能,只能做一个自己觉得合适的取舍,下面从两个维度(清爽指数和功能指数)逐一 阅读全文
posted @ 2019-06-25 23:11 balahoho 阅读(4666) 评论(10) 推荐(12) 编辑
摘要:最近有一个云服务器和数据库的迁移任务,踩坑爬坑无数次,觉得必须要记录一下。大家瓜子花生准备好,听我慢慢讲故事#手动笑哭#。 故事背景 公司是做电商业务的,在天猫有几家旗舰店数据量也很大。阿里有一个称为聚石塔的平台,专门给这些ISV提供各种云资源,强制绑定了一些业务,原本我们在聚石塔中有一台ECS和一 阅读全文
posted @ 2019-04-21 23:38 balahoho 阅读(1950) 评论(6) 推荐(5) 编辑
摘要:业务背景 在稍微复杂点业务系统中,不可避免会碰到做定时任务的需求,比如淘宝的交易超时自动关闭订单、超时自动确认收货等等。对于一些定时作业比较多的系统,通常都会搭建专门的调度平台来管理,通过创建定时器来周期性执行任务。如刚才所说的场景,我们可以给订单创建一个专门的任务来处理交易状态,每秒轮询一次订单表 阅读全文
posted @ 2017-10-29 16:00 balahoho 阅读(9655) 评论(28) 推荐(35) 编辑
摘要:背后的故事 随着项目需求的逐步增加,后端开发框架在我手上也慢慢重构为组件开发模式,整体结构类似于NopCommence。在这种结构中,每个组件所在的类库项目其实是生成到网站项目里指定的一个目录的,然后随之而来的就有一个不痛不痒的问题一直挥之不去。那就是每次在组件内修改代码后都要清理解决方案,然后重新 阅读全文
posted @ 2017-03-25 20:52 balahoho 阅读(4138) 评论(4) 推荐(8) 编辑
摘要:发现问题 需求很简单,大致就是要批量往数据库写数据,于是打算用Parallel并行的方式写入,希望能利用计算机多核特性加快程序执行速度。想的很美好,于是快速撸了类似下面的一串代码: 可意外的是竟然无情的报错了: 奇葩的是当我再次刷新的时候异常又不一样了,于是连着刷新好多次,总结出现过的异常有下面这些 阅读全文
posted @ 2016-11-13 23:36 balahoho 阅读(3077) 评论(35) 推荐(10) 编辑
摘要:写在前面 上篇文章中说到了表单验证的问题,然后尝试了一下用扩展方法实现链式编程,评论区大家讨论的非常激烈也推荐了一些很强大的验证插件。其中一位园友提到了说可以使用MVC的ModelState,因为之前通常都在Web项目中用没在Api项目用过,想想Api方法接收的多参数都封装成了一个实体类,独立于数据 阅读全文
posted @ 2016-09-04 23:59 balahoho 阅读(7290) 评论(7) 推荐(5) 编辑
摘要:在web开发中必不可少的会遇到表单验证的问题,为避免数据在写入到数据库时出现异常,一般比较安全的做法是前端会先做一次验证,通过后把数据提交到后端再验证一次,因为仅仅靠前端验证是不安全的,有太多的http请求工具可以轻松绕过你的前端验证把危险数据提交到后端,所以,之前不做后端参数验证的同学赶快检查一下 阅读全文
posted @ 2016-08-26 09:10 balahoho 阅读(3310) 评论(16) 推荐(8) 编辑

返回顶部