- 博客(121)
- 资源 (1)
- 收藏
- 关注
原创 C#对方法使用new修饰符
在工作中,我们很少遇到用new修饰方法的,实际上也不推荐使用,只是在某场景下不得已才去用它,下面做简单介绍先看代码示例 internal class MyD { public void DoSth() { Console.WriteLine($"This is {nameof(MyD)}, {nameof(DoSth)}"); } public virtual void V_Do()
2022-02-11 13:56:21
1500
1
原创 C#多线程异常处理
C#的子线程的异常处理,直接上代码吧。首先是Thread,下面这种情况程序会直接抛异常 static void Main(string[] args) { try { Thread th = new Thread(Th); th.Start(); } catch (Exception ex)
2021-12-27 11:22:12
1365
原创 谈谈IEnumerable
这篇文章是对IEnumerable接口进行基本介绍以及自己写一个链表的代码首先看看IEnumerable接口的定义: // // 摘要: // Exposes an enumerator, which supports a simple iteration over a non-generic collection. [NullableContextAttribute(1)] public interface IEnumerable {
2021-12-27 01:18:57
1098
1
原创 2021年终总结
2021年接近尾声了,做一个小小的总结和对2022年的展望吧我对我的2021年的技术水平的进步以及工资的进步还是比较满意,及格了。但是唯一的遗憾是工作还是没有接触到高并发。2022年的目标:第一是用心做好现有的工作,第二是继续学习,第三是在2022下半年左右换一个能接触到高并发项目的工作。...
2021-12-25 23:41:37
355
原创 安装使用gitbook
如果你想创建在线电子书、文档、笔记这些,GitBook无疑是很好的选择,结合markdown编辑器,可以非常快速方便的创建在线的电子书、文档、笔记等。下面就来介绍一下它在Windows下的安装和基本使用。GitBook在Windows下的安装分为两步:安装nodejs使用命令行安装GitBook第一步:安装nodejs下载网址:https://nodejs.org/en/download/GitBook不兼容比较新版本的nodejs,要不然后续操作会有报错,不过报错后可以在网上搜解决方案,也
2021-12-11 14:09:51
332
原创 关于跨平台的思考
惭愧惭愧今天突然想到跨平台的问题,为什么java和.net core可以跨平台,而.net不能跨平台?从事.net/.net core开发这么久了,这个问题从来没想过,真的是惭愧。书归正传,我们总说java和C#很像,为什么呢?java和C#都是从C++演化来的,java的运行需要JVM,.net的运行需要CLR,我们知道JVM和CLR都是C/C++和汇编写的。 看到这里就有种拨云见日了,原来他俩就像是一个爹的俩儿子。那为什么java可以跨平台而.net不能呢? 由上可知 不管是什么系统 只要有相应
2021-08-19 01:52:00
234
原创 C#反射性能优化--上篇
前两天看到一篇说Automapper为什么比用反射快的文章,觉得挺有意思,反射的性能低老早就知道,但是一直没上手测过,对于反射性能优化也不知道。今天也没什么事情,想到这个让我好奇心按捺不住了,今天就写个测试一下。目标使用反射和Automapper组件分别实现 将对象转换成另一个对象创建两个类 public class PersonSource { public string Name { get; set; } public int Age { get;
2021-07-25 23:47:49
493
1
原创 关于共享文件夹的使用
今天说到使用共享文件夹,什么是共享文件夹呢?它和文件服务器又有什么区别呢?什么是共享文件夹呢?共享文件夹就是在同一个网段内,各个电脑或者服务器都可以访问的文件夹比如我在一个局域网的服务器上创建了一个共享文件夹可以这样访问那个文件夹里的文件通过程序连接可以上传、读取里面文件的数据、下载文件。共享文件夹的好处就是 比如系统做了个集群,那读取文件就不能只写一个路径了 就配置成共享文件夹的路径 上传文件 下载文件都在共享文件夹里进行。共享文件夹和文件服务器又有什么区别呢?共享文件夹是多个电脑对同
2021-06-04 10:36:56
791
原创 MediatR专题--之一 简单了解及使用
项目中使用了MediatR,这里研究一下,这篇文章是这个专题的第一篇,后续会进行源码分析,这篇先介绍和基本使用。MediatR 有两种方式的消息发送方式:Request / Response (请求/响应消息),指派到 一个 处理程序Notification (广播消息),指派到 多个处理程序我们先看Request / Response使用 MediatR 的 Request / Response 的原因就是用命令模式的原因下面的链接是讲命令模式的http://c.biancheng.ne
2021-05-07 09:57:25
2543
1
原创 .net core单元测试
今天闲来无事,看了看.net core单元测试的东西,遇到了个问题是当要测试的类使用了IOption<T>的注入,怎么测 搜了一下 下面的链接用多种方式实现了这个问题 发来纪念一下https://www.javaroad.cn/questions/80616...
2021-03-28 15:15:29
261
原创 .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...
2021-02-14 13:56:26
378
原创 使用Ocelot开发Gateway之超时和熔断
其他的不变(见上第一篇)https://blog.youkuaiyun.com/baidu_38845827/article/details/113586679这里先写一下熔点器的知识借鉴于 https://www.cnblogs.com/phyger/p/14048571.html熔断器的作用就是防止雪崩 雪崩就是服务间是链式调用,当下游服务挂掉了或者需要等很久,导致上游的请求一直处于等待状态 当发生大量请求的情况下,导致上游一系列服务挂掉 就好像雪崩一样为了解决雪崩 熔断器出现了熔断器有三个状
2021-02-05 16:25:34
1047
原创 使用Ocelot开发Gateway之---缓存
文档地址:https://ocelot.readthedocs.io/en/latest/features/caching.html个人感觉 把请求的缓存放到网关里吧 实际用处非常少 但是先记录一下吧其他的不变(见上一二三篇)https://blog.youkuaiyun.com/baidu_38845827/article/details/113586679(基础篇)https://blog.youkuaiyun.com/baidu_38845827/article/details/113594621(整合Cons
2021-02-05 15:00:47
428
原创 .net core使用Redis实现分布式Session
分布式Session多用于集群部署和分布式系统中,至于它的作用在此就不说了,大家可以搜一下,下面记录下.net core实现分布式Session的方法,其实分布式Session属于.net core中缓存的内容,.net core的缓存包括:内存缓存(IMemoryCache)、响应缓存中间件、以及分布式缓存(IDistributedCache)内存缓存和响应缓存中间件使用非常简单 单写篇文章来写它俩吧 分布式缓存的实现方式也分三四种 但是其他的基本也不用 用也是用基于Redis的,故在此就记录使
2021-02-03 17:12:00
1191
原创 使用Ocelot开发Gateway之限流
其他的不变(见上一两篇)https://blog.youkuaiyun.com/baidu_38845827/article/details/113586679https://blog.youkuaiyun.com/baidu_38845827/article/details/113594621修改配置文件的RateLimitOptions{ "ReRoutes": [ { "UseServiceDiscovery": true, "DownstreamPathTemplate": "/
2021-02-03 15:45:00
323
原创 使用Ocelot开发Gateway之整合Consul
首先添加上这个包然后 其他的不变(见上一篇)https://blog.youkuaiyun.com/baidu_38845827/article/details/113586679值修改配置文件ocelot.json即可{ "ReRoutes": [ { "UseServiceDiscovery": true, "DownstreamPathTemplate": "/{url}", "DownstreamScheme": "http", //"Down
2021-02-03 12:17:19
329
原创 .net core使用Consul
参考文章:https://www.cnblogs.com/edisonchou/p/9124985.html上面的文章已经写的非常好了,我在这就再简单的写一下,参考文章里的代码有个地方需要注意IApplicationLifetime这个需要替换一下 那个是老版本的.net core用的,替换成IHostApplicationLifetime同样是在Microsoft.Extensions.Hosting里Consul是Go语言写的,在.net core的web程序里面主要是用来做服务的注册和发现首
2021-02-03 11:26:07
1600
4
原创 使用Ocelot开发Gateway之初始篇
文档地址:https://ocelot.readthedocs.io/en/latest/比较简单的网关应该是一个控制台应用程序 但是我这就先这样写首先 添加Ocelot程序包添加ocelot.json配置文件 这个配置文件的名称可以随意在Program中添加如下配置:Startup类里的两个配置如下:ocelot.json里的配置如下{ "ReRoutes": [ { "DownstreamPathTemplate": "/{url}", "Do
2021-02-03 10:30:03
401
原创 2020写给自己
现在是2020年12月27日凌晨一点零六分,2020年要过完了,这一篇写给自己,这一年编程技术和知识方面有了一些长进,对C#语言、EF框架、sql语句、Javascript、.net core开发框架、HTTP协议、设计模式 有了更深的掌握,对Redis、Mongodb、RabbitMQ有了从无到有的学习,对这三个东西的应用场景、基本知识以及操作都有了基本的学习,尤其是Redis 在实战中用过几次,还用Redis做了.net core下的分布式缓存的demo。以上这些就是我在这一年在工作中以及自己学习所掌握
2020-12-27 01:44:33
269
原创 记录.net core接口post请求Content-Type
对于post请求 不同的contenttype对应的接收函数的参数写法是不一样的最简单的是url参数拼接 [HttpPost, Route("PostSth")] public async Task<IActionResult> PostSth(string name, int age) { return Ok(new { name, age }); }另一种是放在body里还有放在header里.
2020-12-18 17:36:26
2616
1
原创 JObject的使用
今天使用了JObject对json字符串进行了操作,在此记录一下 [HttpGet, Route("GetJson")] public async Task<IActionResult> GetJson() { string jsonText = "{\"input\" : \"value\",\"status\" :true,\"httpstatus\":200}"; JObject jo =
2020-12-14 14:05:59
1703
原创 记录IdentityServer4在.net core3.1上的使用 (一)
IdentityServer4在.net core上不同的版本上的使用方式有微小的差别,我在网上找了一些文章,按照他们的写总有问题,有些是因为.net core版本的问题 有些是因为IdentityServer4的dll版本的问题 不过总算是东找西找,实现了功能 这篇文章先写通过Token获取资源写两个项目 一个是api的项目,一个是IdentityServer的项目,在api的项目里使用IdentityServer中间件,受保护的方法需要向先IdentityServer项目获取Token,然后...
2020-12-14 10:34:46
1092
2
原创 在Windows服务器上部署程序遇到的问题
郑重声明:该博客只适用于没玩过服务器的小白,如果你已经自己部署过程序了,就不要看了 浪费时间昨天买了服务器,今天部署个程序玩一玩,遇到的坑有几个,但是都好解决,首先我部署了一个.net程序发现服务器上的浏览器可以访问 但是外网无法访问 这让我很奇怪 后来发现是没设置安全组规则,说白了就是没给端口开访问权限参照下面这篇博客开https://blog.youkuaiyun.com/junyouyh/article/details/107610533开完权限后,外网访问部署的.net程序没有问题...
2020-12-06 19:41:10
342
原创 记录第一次买阿里云服务器
记得在18年,毕业后的第二家公司的时候开始做Web开发,第一次接触到服务器,后来工作就常常用到了,但是今天是第一次买了阿里云的服务器自己玩我是在淘宝上买的,根据发来的短信提示进行操作,很简单,设置好密码后远程连接 里面只有个C盘 首先进行分盘 参照以下博客https://www.kmbox.cn/html/help/tools/423.html然后安装上IIS,就可以进行程序部署了,其他的工具 比如数据库 redis mongodb rebbitmq这些也需要自己安装...
2020-12-06 19:25:47
180
原创 .Net Core使用JWT进行身份认证
参照下面的博客一点问题没有https://www.cnblogs.com/tommao2618/archive/2020/06/19/13127625.html我自己在测试的时候 生成jwt的token报错:PII is hidden. For more details 参照下面的博客知道了原因是由于设置的key过短https://blog.youkuaiyun.com/gnsyhxg/article/details/96181383...
2020-12-01 13:47:26
1295
3
原创 ,net core玩一玩Session
关于Session的概念我就不叙述了,网上一搜有很多详细的介绍,.net MVC里Session的设置是在Web.config里配置,那.net core呢?一起来探究下IIS服务器在浏览器访问的时候,默认会返回一个ASP.NET_SessionId,关于这个我也没详细了解,就知道这时就行了,应该就是在自己没有设置session的情况下IIS默认返回的,当然自己可以修改session(瞎猜的,欢迎指正)下面来看一下 .net core不配置session的情况下的程序 [Ht
2020-12-01 10:16:13
438
原创 AutoMapper的使用----基本篇
今天来写一下关于.net中AutoMapper的使用中的常用的地方。首先我个人是非常非常喜欢AutoMapper的,因为它真正做到了又轻量又好用,它只干了一件事,就是帮你做对象类型转换。下面就记录一下它的使用,我的代码是基于.net core的第一步:管理NuGet包搜索AutoMapper 安装AutoMapper.Extensions.Microsoft.DependencyInjection第二步:在Startup.cs里的ConfigureServices方法里加入配置 services
2020-11-29 02:50:14
781
原创 EF Core 查看linq to sql生成的sql
使用EF Core的 linq to sql语句 怎样查看它生成的sql呢?EF Core和EF有很大差别 EF上的查看生成sql的方法在EF Core上都行不通但是EF Core查看sql的方式也很简单 最最简单的是直接将生成的sql输出到控制台在Startup加上 public static readonly LoggerFactory MyLoggerFactory = new LoggerFactory(new[] { new Microsof..
2020-11-13 09:01:46
2806
翻译 .NET Framework源码下载
这个地址: https://referencesource.microsoft.com/download.htmlDownload the entire source code of .NET Framework as a .zip file. The archive includes a solution and project files that can be opened in Visual Studio. This solution will not build because it is..
2020-10-30 16:12:13
478
原创 记.net core的HttpClient使用
只记录了get方法的使用 主要是result = res.Content.ReadAsStringAsync().Result;这个获取响应的方式 第一次用可能找不着 public async Task<string> GetSth(string url) { string result = string.Empty; using (var client = new System.Net.Http.HttpCl..
2020-10-13 17:42:46
316
原创 .net core web api第一篇——添加Swagger中间件
第一步: 安装nuget包 搜索框输入Swashbuckle.AspNetCore安装这四个即可第二步:在Startup中的ConfigureServices方法中添加服务、在Configure方法中添加中间件 public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; .
2020-10-12 16:54:34
808
原创 C#对接芝麻信用
最近做了支付宝小程序对接芝麻信用的功能,其实坑挺多的,不过还好在文档以及客服的帮助下顺利完成。网上有很多相关的博客,但是百分之九十的没啥用,要么就是没有代码示例,要么就是代码不全,根本不能用,还有几年前的博客 一些接口比如查询芝麻信用分的接口,问了客服才知道 这个早就淘汰了。所以自己写一篇比较详细的供大家参考。一定要记住的一句话是--------遇到问题问客服流程的话篇博客写的完全正确:https://blog.youkuaiyun.com/webnoties/article/details/103255674
2020-06-29 11:46:56
980
原创 Windows服务使用log4net
今天要用Windows服务做个东西,首先添加个日志功能,但是我总是打不出日志,很奇怪 后来发现<logger name="MyWindowsService">这里面的name要和LogHelper帮助类里的一致private static log4net.ILog log = log4net.LogManager.GetLogger("MyWindowsService");写个加日志的流程吧,首先 控制台应用程序和windows服务加日志的方式时一样的首先 添加dll 然后在Ass...
2020-06-27 04:15:29
437
原创 VS常用快捷键超实用
想想也用了两年多Visual Studio了,但是竟然好些超实用的快捷键不知道 惭愧惭愧 在此记录一下1. 全屏显示/退出全屏显示(超实用 之前竟然没用过)快捷键 “ SHIFT + ALT + ENTER ”。2. 大小写转换1)转小写:使用组合键“Ctrl+ U”;2)转大写:使用组合键“CTRL + SHIFT + U”。3.撤销/反撤销撤销:Ctrl+Z 反撤销:Ctrl+Y4. 生成构造函数ctor + tab键5. 新建类alt + p ...
2020-06-26 14:37:52
712
1
原创 一个小功能总结
是这样 今天有一个小功能需要实现,首先在一个页面里有一个table 然后有查询 通过选择各种条件进行查询,在table中的操作列有个选项,会跳转到另一个页面,可以在另一个页面上进行一些操作,在那个跳转后的页面上有个小的导航栏 导航栏里有从哪行数据点进来的名称 现在的需求是在跳转后的页面操作完后 点击那个导航栏里的数据的名称 返回到table页面并且显示的数据和点进来时的一样。看到这个需求 我觉得很简单 因为页面跳转 条件查询 参数都是通过url传递 也没有子页面嵌套页面什么的 很标准...
2020-06-06 22:54:02
243
原创 关于autofac杂谈
// This software is part of the Autofac IoC container// Copyright © 2011 Autofac Contributors// https://autofac.org//// Permission is hereby granted, free of charge, to any person// obtaining a ...
2020-04-27 22:37:48
202
原创 Git failed with a fatal error. error: open("MyUtil/.vs/MyUtil/v16/Server/sqlite3/db.lock"):
Visual Studio 刚创建的项目提交到GitHub报错:Git failed with a fatal error. error: open("MyUtil/.vs/MyUtil/v16/Server/sqlite3/db.lock"): Permission denied fatal: Unable to process path MyUtil/.vs/MyUtil/v16/Serv...
2020-04-23 02:01:30
1079
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅