- 博客(71)
- 收藏
- 关注
原创 Windows下搭建EFK实例
注意如果显示执行脚本未签名,更新windows ExecutionPolicy为RemoteSigned,执行指令Set-ExecutionPolicy RemoteSigned。更新filebeat.yml: 命令行执行 install-service-filebeat.ps1 把filebeat安装为windows服务,在service中搜索。elastic执行:命令行到解压后的bin文件夹 ./elasticsearch。kibana: 命令行到解压后的bin文件夹 ./kibana.bat。
2024-02-21 17:53:49
998
原创 c# 动态更新配置文件
Net Core之后ConfigurationManager不在标准命名空间内,可以使用IConfiguration。在.Net Framework版本可以使用ConfigurationManager。通常是指app.config或web.config。
2024-01-10 11:09:56
859
原创 控制台程序退出时触发事件
Windows API中有个SetConsoleCtrlHandler函数可以处理Ctrl+C和直接关闭控制台应用这两种关闭事件。控制台应用,在运行阶段很有可能被用户Ctrl+C终止或是被用户直接关闭。在关闭时希望执行一段处理逻辑。
2024-01-10 10:01:08
693
原创 查找项目中所有使用自定义属性的类
AttributeUsage(AttributeTargets.Method)] //标签适用范围set;//项目中使用的所有dll.ToList();
2023-09-13 19:26:40
148
原创 EF Core修改Migration更新数据库表
一般重命名表,生成的ef migration会删除旧表,创建一张新表,如果想不删除旧表,需要修改生成的migration。需要通过EF Migration修改数据库一张表的名称,字段,主键,索引。
2023-09-13 19:10:42
713
原创 非整型判断是否是整数
double和decimal类型判断是否有小数位:private static IsInteger(this decimal amount){ if(amount % 1 == 0) return true; else return false;}
2021-12-17 19:36:26
486
原创 C# 反射判断是否是基础类型
```csharppublic static bool IsFundamental(this Type type){ return type.IsPrimitive || type.IsEnum || type.Equals(typeof(string)) || type.Equals(typeof(DateTime));}
2021-11-15 16:17:24
2543
原创 Asp.Net Core MVC发布时不打包视图文件
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-09-23 00:27:28
509
原创 Abp 框架支持多类型ContentType
Abp 多格式入参标题在Abp中使用xml格式的入参标题在Abp中使用xml格式的入参首先在注入的Module中添加指定的数据转换Public class XmlNodeModule : AbpModule{ public override void ConfigureServices(ServiceConfigurationContext context) { context.Services.AddControllers().AddXmlSerializerFormatter
2021-06-23 11:13:17
416
1
原创 .net core middleware 捕获 request和response
public async Task Invoke(HttpContext context) { if (context != null) { var endpoint = context.GetEndpoint(); var originalResponseStream = context.Response.Body; if (en...
2021-05-19 16:11:22
587
原创 Sql server update/delete 和 join联查
update A set a.name = 'testName'from A ajoin b on a.id = b.destIdjoin c on b.destId = c.sourceIdwhere a.id > 0 and c.name = 'test'delete a from A ajoin b on a.id = b.destIdjoin c on b.cid = c.idwhere c.name = 'tets'
2021-05-17 20:41:35
1390
原创 .Net core 泛型服务的注册
在.Net core注册一个泛型的服务public interface IService<T>{ async Task DoAction();}public class Service<T> : IService<T>{ public async Task DoAction() { .... do action }}ServiceCollection.AddScoped<typeof(ISer
2021-03-25 14:27:32
1311
原创 C# 动态赋值
1. JObject命名空间Newtonsoft.Json.Linq往JObject添加属性:1. var jobject = new JObject();jobject.Add("propertyName", PropertyValue);2.var jobj = new JObject();jobj["PropertyName"] = propertyValue;2. 匿名对象var model = new ModelToConvert();var propert
2021-03-18 11:33:37
1855
原创 .net core使用GB2312编码报错
.Net core 3.1在使用Encoding.GetEncoding("GB2312")时抛错:Unhandled Exception: System.ArgumentException: 'GB2312' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.使
2021-02-20 14:21:23
868
转载 Socket详解
1:socket大致介绍 socket编程是一门技术,它主要是在网络通信中经常用到 既然是一门技术,由于现在是面向对象的编程,一些计算机行业的大神通过抽象的理念,在现实中通过反复的理论或者实际的推导,提出了抽象的一些通信协议,基于tcp/ip协议,提出大致的构想,一些泛型的程序大牛在这个协议的基础上,将这些抽象化的理念接口化,针对协议提出的每个理念,专门的编写制定的接口,与其协议一一对应,形成了现在的socket标准规范,然后将其接口封装成可以调用的接口,供开发者使用 ...
2021-01-21 11:10:24
282
原创 Sql server 索引碎片
数据库索引体系要了解数据库的索引碎片,首先需要了解数据的索引和数据的存储方式数据库中的每一个表要么是堆表(非聚集索引),要么就是有序表(聚集索引)。堆表,在使用非聚集索引查询数据的时候,会使用书签查找去底层的数据表中去检索需要的数据,这个书签查找会通过每一个索引中包含的行标识(RID)去定位每一个底层数据表的数据行。如果表上面有聚集索引,那么在使用非聚集索引查找其他需要数据的时候,就会使用聚集索引键去定位底层的数据行。索引系统是由索引页组成的,索引中的每一个条目包含在页中。每8个页组成一个块。索引的层
2020-12-16 17:39:52
462
原创 c# Des-ECB加解密记录
MD5加密:/// <summary>/// 16位MD5加密/// </summary>/// <param name="password"></param>/// <returns></returns>public static string MD5Encrypt16(string paramToEncrypt){ var md5 = new MD5CryptoServiceProvider();
2020-12-15 10:36:36
697
原创 C# 枚举扩展方法
/// <summary>/// 扩展方法,获得枚举的Description/// </summary>/// <param name="value">枚举值</param>/// <param name="nameInstead">当枚举值没有定义DescriptionAttribute,是否使用枚举名代替,默认是使用</param>/// <returns>枚举的Description</returns.
2020-12-10 23:45:01
1132
原创 c# Http相关的Mock
在C#的单元测试中,因为Mock只能对接口进行mock,所以无法mock一个HttpClient的实例,经调研记录一下Mock的方法:var httpHanlderMocker = new Mock<HttpMessageHandler>();httpHanlderMocker.Protected().Setup<Task<HttpResponseMessage>>("SendAsync", ItExpr.IsAny<Ht
2020-11-27 17:23:35
1170
原创 Redis 持久化策略解析
Redis是内存数据库,一旦redis服务关停,内存中的数据都会被清空,所以 内存数据库 提供了数据落地的策略Redis中持久化策略有两个 RDB 和 AOFRDB:首先指定把数据保存到哪个地方 config set dir E: 设置保存文件夹, config set dbfilename dumb.rdb 设置保存文件RDB可以手动用 bgsave触发(会启用一个子线程来处理,不会block主线程处理其他命令,就用这个吧)也可以被动触发save m n 表示在m 秒内发生了n次数据变
2020-11-10 10:26:09
181
原创 软件六大设计原则和设计模式
软件设计原则:在实践中,应尽量遵守的软件设计规范:1. 单一职责:单个类只负责单个行为(类需要尽量拆分为最小的逻辑单元)2. 里氏替换:子类必须实现基类的所有特征(在使用基类的地方,直接使用子类也应该可以,子类应尽量少重写基类存在的方法)3. 接口隔离:接口应该拆分为小接口(多个小接口比一个大接口好,不应该强制继承类实现不需要的约束)4. 开闭:实体应该对扩展开放,对修改关闭5. 依赖倒置:依赖抽象,不应该依赖具体(比如依赖类,尽量改为依赖接口)6. 迪米特法则:一个对象应该对被依赖的对象
2020-09-25 18:26:24
1310
原创 c# 字符串转时间的方式
**第一种方法**string timeStr = "2019-08-28";DateTime time= Convert.ToDateTime(timeStr);**第二种:**DateTimeFormatInfo timeForInfo = new DateTimeFormatInfo();timeForInfo.ShortDatePattern = "yyyy/MM/dd";string timeStr1 = "2018-09-08";var time = Convert.
2020-08-15 00:33:03
9124
原创 PowerShell 使用Invoke-WebRequest 提交表单
Post:$body = @{ client_id='id' client_secret='secret' grant_type='client_credentials' }$contentType = 'application/x-www-form-urlencoded'$sourceApi = yoururlInvoke-WebRequest -Method POST -Uri $sourceApi -body $body -Content...
2020-08-06 18:43:58
1656
原创 c# Dictionary线程冲突问题解决
错误信息:InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.dictionary数据类型是非线程安全
2020-07-17 16:32:23
3226
原创 c# 监听端口 解析http请求
console控制台程序监听本地服务器端口,解析http请求using BankProcess;using Newtonsoft.Json;using System;using System.Configuration;using System.IO;using System.Net;using System.Threading;namespace ConsoleApplication3{ class Program { private static s
2020-06-18 23:46:04
3968
原创 c# 动态加载 c++ dll
最近项目里面用到了C++的 dll包,研究了一下c#加载dll的方式,记录一下://加载DLL[DllImport("kernel32.dll")]private extern static IntPtr LoadLibrary(string path);private static void LoadDll(){ IntPtr ptr = LoadLibrary("xxxx.dll");}记得把dll放到你的执行目录下,一般是debug/release这里有个坑,只有在运
2020-06-17 00:57:19
580
原创 .Net 日常坑记录
1. C#中实现了System.Collections.Generic.IEnumerable的对象最后调用ToList之后,返回的是一个新的List引用
2020-06-01 14:23:09
224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人