自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ray

记录学习

  • 博客(68)
  • 收藏
  • 关注

原创 VSCode 写Markdown数学公式,随时补充

fx⎩⎨⎧​00.51​z0z0z0​Y⎩⎨⎧​00.51​z0z0z0​。

2024-03-14 17:17:19 538

原创 PlantUML + VS Code

在visual studio code中使用plantuml画图

2024-03-11 16:27:04 1084

原创 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 862

原创 c# 动态更新配置文件

Net Core之后ConfigurationManager不在标准命名空间内,可以使用IConfiguration。在.Net Framework版本可以使用ConfigurationManager。通常是指app.config或web.config。

2024-01-10 11:09:56 577

原创 控制台程序退出时触发事件

Windows API中有个SetConsoleCtrlHandler函数可以处理Ctrl+C和直接关闭控制台应用这两种关闭事件。控制台应用,在运行阶段很有可能被用户Ctrl+C终止或是被用户直接关闭。在关闭时希望执行一段处理逻辑。

2024-01-10 10:01:08 407

原创 查找项目中所有使用自定义属性的类

AttributeUsage(AttributeTargets.Method)] //标签适用范围set;//项目中使用的所有dll.ToList();

2023-09-13 19:26:40 104

原创 EF Core修改Migration更新数据库表

一般重命名表,生成的ef migration会删除旧表,创建一张新表,如果想不删除旧表,需要修改生成的migration。需要通过EF Migration修改数据库一张表的名称,字段,主键,索引。

2023-09-13 19:10:42 451

原创 HttpClient返回异常分类

http client遇到不会返回response的异常,进行捕获处理

2023-05-23 15:01:12 297

原创 Sql复制表

在table2不存在,table1存在时使用。在table1,table2都存在时使用。

2023-04-10 20:21:08 69

原创 Net Core 移除已注册Service

Net core 移除已经注册的服务

2022-10-19 23:33:58 317

原创 Docker Desktop启动失败

docker启动失败

2022-07-18 14:55:23 2486

原创 C# 数据类型转换工具类

数据类型转换工具类

2022-07-12 18:13:56 327

原创 .Net 多线程

.Net多线程异步编程

2022-07-12 17:24:12 656

原创 .Net core 依赖注入

.net core 的依赖注入

2022-07-01 10:54:41 689

原创 非整型判断是否是整数

double和decimal类型判断是否有小数位:private static IsInteger(this decimal amount){ if(amount % 1 == 0) return true; else return false;}

2021-12-17 19:36:26 367

原创 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 2178

原创 Asp.Net Core MVC发布时不打包视图文件

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-09-23 00:27:28 398

原创 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 320 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 496

原创 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 1244

原创 Webapi配置文件修改端口号

.net core 3.0之后可以通过在appsettings.json中添加配置 urls 配置绑定端口号

2021-05-09 18:07:48 1781

原创 .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 1096

原创 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 1604

原创 .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 689

转载 Socket详解

1:socket大致介绍 socket编程是一门技术,它主要是在网络通信中经常用到 既然是一门技术,由于现在是面向对象的编程,一些计算机行业的大神通过抽象的理念,在现实中通过反复的理论或者实际的推导,提出了抽象的一些通信协议,基于tcp/ip协议,提出大致的构想,一些泛型的程序大牛在这个协议的基础上,将这些抽象化的理念接口化,针对协议提出的每个理念,专门的编写制定的接口,与其协议一一对应,形成了现在的socket标准规范,然后将其接口封装成可以调用的接口,供开发者使用 ...

2021-01-21 11:10:24 211

原创 Sql server 索引碎片

数据库索引体系要了解数据库的索引碎片,首先需要了解数据的索引和数据的存储方式数据库中的每一个表要么是堆表(非聚集索引),要么就是有序表(聚集索引)。堆表,在使用非聚集索引查询数据的时候,会使用书签查找去底层的数据表中去检索需要的数据,这个书签查找会通过每一个索引中包含的行标识(RID)去定位每一个底层数据表的数据行。如果表上面有聚集索引,那么在使用非聚集索引查找其他需要数据的时候,就会使用聚集索引键去定位底层的数据行。索引系统是由索引页组成的,索引中的每一个条目包含在页中。每8个页组成一个块。索引的层

2020-12-16 17:39:52 381

原创 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 604

原创 C# 枚举扩展方法

/// <summary>/// 扩展方法,获得枚举的Description/// </summary>/// <param name="value">枚举值</param>/// <param name="nameInstead">当枚举值没有定义DescriptionAttribute,是否使用枚举名代替,默认是使用</param>/// <returns>枚举的Description</returns.

2020-12-10 23:45:01 1012

原创 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 1057

原创 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 130

原创 软件六大设计原则和设计模式

软件设计原则:在实践中,应尽量遵守的软件设计规范:1. 单一职责:单个类只负责单个行为(类需要尽量拆分为最小的逻辑单元)2. 里氏替换:子类必须实现基类的所有特征(在使用基类的地方,直接使用子类也应该可以,子类应尽量少重写基类存在的方法)3. 接口隔离:接口应该拆分为小接口(多个小接口比一个大接口好,不应该强制继承类实现不需要的约束)4. 开闭:实体应该对扩展开放,对修改关闭5. 依赖倒置:依赖抽象,不应该依赖具体(比如依赖类,尽量改为依赖接口)6. 迪米特法则:一个对象应该对被依赖的对象

2020-09-25 18:26:24 1148

原创 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 8971

原创 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 1465

原创 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 2382

原创 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 3703

原创 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 515

原创 .Net 日常坑记录

1. C#中实现了System.Collections.Generic.IEnumerable的对象最后调用ToList之后,返回的是一个新的List引用

2020-06-01 14:23:09 181

原创 EF Core The instance of entity type cannot be tracked

记录一下EF core遇到:Exception Message: The instance of entity type 'Entity' cannot betracked because another instance with the same key value for {'PropertyId'} is already being tracked.原代码:context.PropertyEntity.UpdateRange(needUpdatedEntities);修改为:..

2020-06-01 13:53:40 2868

原创 c#值类型和引用类型赋值

值类型变量保存的是实际的值,当对值类型进行赋值时实际会把实际的值拷贝给新的变量引用类型变量保存的是实际值的引用,即值的内存地址,赋值时是把地址拷贝给新变量,但还是指向同一地址,改变一个,所有指向该地址的引用类型变量的值都会被改变...

2020-05-18 01:19:11 773

原创 自定义简易Log

一个简易的日志,会对日志文件加读写锁 public static class Log { private static ReaderWriterLockSlim writeLock = new ReaderWriterLockSlim(); public static void WriteLog(string path, string mes...

2020-03-01 22:12:07 201

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除