C#对方法使用new修饰符 在工作中,我们很少遇到用new修饰方法的,实际上也不推荐使用,只是在某场景下不得已才去用它,下面做简单介绍先看代码示例 internal class MyD { public void DoSth() { Console.WriteLine($"This is {nameof(MyD)}, {nameof(DoSth)}"); } public virtual void V_Do()
C#多线程异常处理 C#的子线程的异常处理,直接上代码吧。首先是Thread,下面这种情况程序会直接抛异常 static void Main(string[] args) { try { Thread th = new Thread(Th); th.Start(); } catch (Exception ex)
谈谈IEnumerable 这篇文章是对IEnumerable接口进行基本介绍以及自己写一个链表的代码首先看看IEnumerable接口的定义: // // 摘要: // Exposes an enumerator, which supports a simple iteration over a non-generic collection. [NullableContextAttribute(1)] public interface IEnumerable {
2021年终总结 2021年接近尾声了,做一个小小的总结和对2022年的展望吧我对我的2021年的技术水平的进步以及工资的进步还是比较满意,及格了。但是唯一的遗憾是工作还是没有接触到高并发。2022年的目标:第一是用心做好现有的工作,第二是继续学习,第三是在2022下半年左右换一个能接触到高并发项目的工作。...
安装使用gitbook 如果你想创建在线电子书、文档、笔记这些,GitBook无疑是很好的选择,结合markdown编辑器,可以非常快速方便的创建在线的电子书、文档、笔记等。下面就来介绍一下它在Windows下的安装和基本使用。GitBook在Windows下的安装分为两步:安装nodejs使用命令行安装GitBook第一步:安装nodejs下载网址:https://nodejs.org/en/download/GitBook不兼容比较新版本的nodejs,要不然后续操作会有报错,不过报错后可以在网上搜解决方案,也
关于跨平台的思考 惭愧惭愧今天突然想到跨平台的问题,为什么java和.net core可以跨平台,而.net不能跨平台?从事.net/.net core开发这么久了,这个问题从来没想过,真的是惭愧。书归正传,我们总说java和C#很像,为什么呢?java和C#都是从C++演化来的,java的运行需要JVM,.net的运行需要CLR,我们知道JVM和CLR都是C/C++和汇编写的。 看到这里就有种拨云见日了,原来他俩就像是一个爹的俩儿子。那为什么java可以跨平台而.net不能呢? 由上可知 不管是什么系统 只要有相应
C#反射性能优化--上篇 前两天看到一篇说Automapper为什么比用反射快的文章,觉得挺有意思,反射的性能低老早就知道,但是一直没上手测过,对于反射性能优化也不知道。今天也没什么事情,想到这个让我好奇心按捺不住了,今天就写个测试一下。目标使用反射和Automapper组件分别实现 将对象转换成另一个对象创建两个类 public class PersonSource { public string Name { get; set; } public int Age { get;
关于共享文件夹的使用 今天说到使用共享文件夹,什么是共享文件夹呢?它和文件服务器又有什么区别呢?什么是共享文件夹呢?共享文件夹就是在同一个网段内,各个电脑或者服务器都可以访问的文件夹比如我在一个局域网的服务器上创建了一个共享文件夹可以这样访问那个文件夹里的文件通过程序连接可以上传、读取里面文件的数据、下载文件。共享文件夹的好处就是 比如系统做了个集群,那读取文件就不能只写一个路径了 就配置成共享文件夹的路径 上传文件 下载文件都在共享文件夹里进行。共享文件夹和文件服务器又有什么区别呢?共享文件夹是多个电脑对同
MediatR专题--之一 简单了解及使用 项目中使用了MediatR,这里研究一下,这篇文章是这个专题的第一篇,后续会进行源码分析,这篇先介绍和基本使用。MediatR 有两种方式的消息发送方式:Request / Response (请求/响应消息),指派到 一个 处理程序Notification (广播消息),指派到 多个处理程序我们先看Request / Response使用 MediatR 的 Request / Response 的原因就是用命令模式的原因下面的链接是讲命令模式的http://c.biancheng.ne
.net core单元测试 今天闲来无事,看了看.net core单元测试的东西,遇到了个问题是当要测试的类使用了IOption<T>的注入,怎么测 搜了一下 下面的链接用多种方式实现了这个问题 发来纪念一下https://www.javaroad.cn/questions/80616...
.net core文档 类的介绍,不知道咋用从这里找https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.aspnetcore.builder.iapplicationbuilder?view=aspnetcore-3.1官方文档:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/startup?view=aspnetcore-3.1...
使用Ocelot开发Gateway之超时和熔断 其他的不变(见上第一篇)https://blog.csdn.net/baidu_38845827/article/details/113586679这里先写一下熔点器的知识借鉴于 https://www.cnblogs.com/phyger/p/14048571.html熔断器的作用就是防止雪崩 雪崩就是服务间是链式调用,当下游服务挂掉了或者需要等很久,导致上游的请求一直处于等待状态 当发生大量请求的情况下,导致上游一系列服务挂掉 就好像雪崩一样为了解决雪崩 熔断器出现了熔断器有三个状
使用Ocelot开发Gateway之---缓存 文档地址:https://ocelot.readthedocs.io/en/latest/features/caching.html个人感觉 把请求的缓存放到网关里吧 实际用处非常少 但是先记录一下吧其他的不变(见上一二三篇)https://blog.csdn.net/baidu_38845827/article/details/113586679(基础篇)https://blog.csdn.net/baidu_38845827/article/details/113594621(整合Cons
使用Ocelot开发Gateway之限流 其他的不变(见上一两篇)https://blog.csdn.net/baidu_38845827/article/details/113586679https://blog.csdn.net/baidu_38845827/article/details/113594621修改配置文件的RateLimitOptions{ "ReRoutes": [ { "UseServiceDiscovery": true, "DownstreamPathTemplate": "/
使用Ocelot开发Gateway之整合Consul 首先添加上这个包然后 其他的不变(见上一篇)https://blog.csdn.net/baidu_38845827/article/details/113586679值修改配置文件ocelot.json即可{ "ReRoutes": [ { "UseServiceDiscovery": true, "DownstreamPathTemplate": "/{url}", "DownstreamScheme": "http", //"Down
.net core使用Consul 参考文章:https://www.cnblogs.com/edisonchou/p/9124985.html上面的文章已经写的非常好了,我在这就再简单的写一下,参考文章里的代码有个地方需要注意IApplicationLifetime这个需要替换一下 那个是老版本的.net core用的,替换成IHostApplicationLifetime同样是在Microsoft.Extensions.Hosting里Consul是Go语言写的,在.net core的web程序里面主要是用来做服务的注册和发现首
使用Ocelot开发Gateway之初始篇 文档地址:https://ocelot.readthedocs.io/en/latest/比较简单的网关应该是一个控制台应用程序 但是我这就先这样写首先 添加Ocelot程序包添加ocelot.json配置文件 这个配置文件的名称可以随意在Program中添加如下配置:Startup类里的两个配置如下:ocelot.json里的配置如下{ "ReRoutes": [ { "DownstreamPathTemplate": "/{url}", "Do