
C#中高级
左左在右边
5年工作经验,C#全栈
展开
-
文本语句比较算法
1,算法部分using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;namespace Base{ public class CompareModel { public string currentStr { get.原创 2022-03-10 15:22:37 · 415 阅读 · 0 评论 -
Quartz的cron表达式
从左到右以此为: 秒 分 小时 日期 月份 星期 年前6位配置得时候不可为空,年是可选得注意星期和日期是冲突得,一个有值另一个必须设为?,因为同时指定日期为15和周三,是不可能同时成立得附:cronExpression配置说明字段 允许值 允许的特殊字符秒 0-59 , - * /分 0-59 , - * /小时 0-23 , - * /日期 1-31 , - * ? / L W C月份 1-12 或者 JAN-DEC , - * /星期 1-7 或者 SUN-SAT ,...原创 2022-03-09 10:20:05 · 147 阅读 · 0 评论 -
net5通过容器配置mysql服务
学习使人进步 ,进步可以赚钱,赚钱就有可能得到美..原创 2022-03-08 08:58:00 · 599 阅读 · 0 评论 -
单块架构的优劣
单块架构系统,传统的单服务器三层架构组成的系统。优势:易于开发 易于测试 易于部署 易于水平伸缩(集群配置比较方便,ngix+文件同步软件)劣势:维护成本越来越大档代码膨胀到几十万行以上,改一出业务可能会影响很多业务逻辑缺陷排查也十分困难持续交付周期长当功能越来越多,代码越来越复杂,构建和部署时间会越来越长。新功能的增加、部署、测试周期会越来越慎重越来越长。新人培养周期困难即使不考虑团队离职问题,当业务增长,需求的开发团队膨胀,新入职的成员学习该项目会有一个很长的原创 2022-01-17 16:44:50 · 2206 阅读 · 0 评论 -
封装了一个webRequest兼容https
using Newtonsoft.Json;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;using System.Reflection;using System.Text;using System.Web;namespace Resource{ public class RestClient { p.原创 2021-10-19 10:25:17 · 258 阅读 · 0 评论 -
阿里云服务器25端口禁用,使用465端口发送邮件
1,nuget下载这两个包2,发送邮件携带附件代码如下 ///// <summary> ///// 发送邮件支持465端口 ///// </summary> ///// <param name="strSmtpServer">邮箱服务器</param> ///// <param name="strFrom">发送人账号</param> /原创 2021-04-09 10:11:18 · 764 阅读 · 0 评论 -
C# 发送邮件带附件代码25端口
/// <summary> /// 发送邮件 /// </summary> /// <param name="strSmtpServer">smtp邮箱服务器</param> /// <param name="strFrom">发送人账号</param> /// <param name="strFromPass">发送人账号密码</pa..原创 2021-03-18 16:51:03 · 149 阅读 · 0 评论 -
zip 多文件压缩和解压示例
using ICSharpCode.SharpZipLib.Zip;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;namespace Learun.Application.Web.Areas.LR_DangAnGuanModule.Controllers{ public class CommonFileOpr { .原创 2020-07-22 17:16:57 · 322 阅读 · 0 评论 -
Net Core 学习入门(八)-----使用SingalR2.0创建实时web应用
在netFrameWork4.5之后,微软提供了websocket相关的开发类库,使得后台可以和客户端建立起websocket链接,服务器可以做到向客户端推送消息。SingalR是包含websocket技术,专门为服务器推送开发集成的一个开发框架,使用他,你可以快速的开发推送服务。websocket不兼容ie8以下等浏览器,但是使用singalR会根据浏览器的不同选择不同的传输方式,...原创 2019-12-25 11:50:46 · 367 阅读 · 0 评论 -
使用pechkin导出pdf
1,添加引用2,在项目中包含以下五个dll文件,并设置属性为始终复制前端代码:注意:pechkin原理是使用iis在模拟请求一次这个页面,所以要下载的页面不能为发起页面;例如:当你在a页面请求下载a页面,这种情况会早后pechin的setPageUrl()在请求一次a页面,a页面的的请求下载会再次触发发起下载请求,然后pechin回加载。 <div st...原创 2019-12-11 17:30:54 · 972 阅读 · 0 评论 -
SSO登陆实现一:Cookie共享
1,SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。2,假设我们有a,b,c三个网站。 这三个网站共同为一个顶级域名的二级域名,例如顶级域名为taobao.com,a为x.taobao.com,b为y.taobao.com,c为z.taobao.com.那么很简单的是我们只要在a.b.c任意一个网站登陆的时候...原创 2019-05-07 08:52:35 · 553 阅读 · 0 评论 -
解决xml读取之后再次修改被占用的问题
XmlDocument document = new XmlDocument(); XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreComments = true; //xmlFilePath:xml文件路径 by...原创 2019-04-03 16:13:10 · 999 阅读 · 0 评论 -
继承IHttpModule拦截http请求
1,原理:浏览器请求-服务器-httpmodule-httphandler处理-浏览器 通过继承IHttpModule可以实现拦截http的请求,方面我们记录一些日志,过滤一些非法的请求,甚至实现代码的流量分流等等。 小老弟们,在web应用程序中可以直接继承此接口;but,在类库需要引用system.web的dll文件。2,示例:简单实现计...原创 2018-12-10 17:32:57 · 2433 阅读 · 0 评论 -
使用Process类操作cmd.exe
1,代码using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Text;namespace CNKI.TPI.Web.Base{ public class CmdHelper { public st...原创 2018-12-10 15:28:20 · 1232 阅读 · 0 评论 -
两个winform.exe程序之间的通讯一————————发送消息
1,两个winform.exe在系统里体现是两个进程,而进程是是由系统管理。2,user32.dll是Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息。3,所有可以通过调用user32.dll的api来进行两个进程之间的通信。4,发送端exe.源码 using System;using System....原创 2018-09-20 14:42:00 · 7172 阅读 · 5 评论 -
int.Parse和Convert.ToInt32的区别
1,对于int.parse("20")和Convert.ToInt32("20")都返回20,没啥区别2,对于int.parse(null),直接报异常的,而后者则是返回0.3,int.parese是只能处理string类型的,而后者有很多中重载方法可处理dobule等。例如,int.parse("3.2”)异常,而后者可以convert.toint32(3.2)正确并可以四舍五入返回3....原创 2018-09-29 10:29:24 · 2533 阅读 · 1 评论 -
网站监测是否提交恶意字符串的工具类
using System.Text.RegularExpressions;using System.Web;namespace CNKI.TPI.Web.Base{ public class safe_360 { private const string StrRegex = "['\"]+|"+ ...原创 2018-09-29 16:14:30 · 355 阅读 · 0 评论 -
自定义xml配置文件读取更新
说明:webconfig的文件中的值的更新会引起网站重启,网站重启内存挥手,session等信息会丢失,所以下面这些场景我们需要自定义配置文件。 1,网站运行中,我们需要更新配置文件来关闭某些功能,不能造成用户cookie等信息丢失。 2,网站加载了大量缓存,重启时间太长。 3,webConfig配置了大量其他的配置,追加的话不好维护。...原创 2018-10-25 20:53:53 · 333 阅读 · 0 评论 -
c#正确认识引用类型
static void Main(string[] args) { Console.ReadKey(); List<string> list = new List<string>(); list.Add("1"); ...原创 2018-10-31 11:20:06 · 245 阅读 · 0 评论 -
Aspose.Cells---把DataTable数据导出到Excel
1,工具类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.IO;using Aspose.Cells;using System.Web;namespace WebBrowserEx.Common...原创 2018-11-01 19:37:03 · 1746 阅读 · 0 评论 -
C#单元测试UnitTest(一)---创建一个简单的测试示例
1,创建mvc项目,在HomeController加入 public JsonResult Test(string name,int id) { return Json(new { Name=name, Id=id, ...原创 2018-11-06 20:24:49 · 8318 阅读 · 0 评论 -
C#单元测试UnitTest(二)--web.config文件引发的异常
说明:在实际的web项目中,测试的方法都是对数据库产生操作的,然我们的数据库链接一般放在web.config文件中, 一个简单的案例来模拟一下调用场景1,首先我们在web.config文件加入一个配置 <add key="awe" value="3.0.0.0" /> 2,然后在一个mvc的controller里面加入一个简单的读取操作 pu...原创 2018-11-06 20:34:11 · 1044 阅读 · 0 评论 -
MVC-缓存OutputCache特性
1,数据库读写分离实现方式有:高效缓存memberCacher、数据库主从复制读写分离。2,当然如果真的想要实现数据库读写分离,缓存一定是持久化的,例如redis,而outputcache是做不到的。OutputCache的特点是: outputCache是以url和data的形式进行存储的。 短时间缓存应对高并发查询,减少对数据库的压力。 ...原创 2018-11-07 17:34:12 · 426 阅读 · 0 评论 -
vs2015、vs2017当前上下文不存在 viewBag-解决方法
问题描述:原先是13版本创建的版本引起的1,使用记事本打开解决方案 ,更改版本 # Visual Studio 15 修改为 # Visual Studio 132,修改web.config <add key="webpages:Version" value="3.0.0.0" />为 <add key="webpages:Version" value="2.0....原创 2018-11-05 17:05:16 · 2815 阅读 · 1 评论 -
mvc----简单的过滤器拦截,重写 ActionFilterAttribute的OnActionExecuting方法
任务场景:当任务时间开启的时候,禁止所有的用户通过数据库的更新操作示例代码说明,读取任务配置文件,如果字段为1,那么所有的配置该特性的action都将会被拦截。using CNKI.TPI.Web.Base;using Cqca.Common;using System;using System.Collections.Generic;using System.Linq;usin...原创 2018-11-08 17:05:48 · 1162 阅读 · 0 评论 -
C#DataTable那些事---速度优化
序列化DataTable是可序列化的,DataRow是不可序列化的,当你使用JsonConvert..SerializeObject(DataRows)是得不到你想要的结果的,因为C#规定DataRow不可序列化。查询 当你的DataTable中的数据非常大的时候,而你又需要循环Select的时候,不妨先把这个DataTable转化为Dictionnary,再去select,这样的查询速度...原创 2018-07-10 23:11:12 · 5728 阅读 · 0 评论