-
详解.NET中负载均衡的使用
目录一、简介二、应用场景三、实际案例四、算法实现4.1 随机4.2 轮询4.3 权重一、简介负载均衡(Load>二、应用场景负载均衡算法在开发层面,使用场景其实并不多。通常在项目重构、转型、上线大版本新功能等,为了避免上线出现>这样 AB 测试的场景,也可以在运维或者网关等其他层面实现流量分配。但现实是大多数公司项目因为一些原因没有这样的支持,这时开发就可以在项目中使用代码进行实现。三、实际案例有
.Net使用Xunit工具进行单元测试
不管你爱与不爱,单元测试对于一个软件的长治久安还是必不可少的一环。在Visual Studio 2012后,VS中的测试浏览器也能与第三方的集成了,用起来还是非常方便的。目前在.Net框架下的测试工具主要有Nunit、内置的MSTest以及Xunit这三个工具,本文就简单的介绍一下如何在VS中使用XUnit这个测试框架的后起之秀。安装Xunit:Xunit的安装现在不需要插件支持了,直接使用NuG
一文掌握.Net core中的缓存
目录1 Net Framewoke的缓存1.1 System.Web.Caching1.2 System.Runtime.Caching2 Net core的缓存介绍2.1 MemoryCache2.2 RedisCacheCache(缓存)是优化web应用的常用方法,缓存存放在服务端的内存中,被所有用户共享。由于Cache存放在服务器的内存中,所以用户获取缓存资源的速度远比从服务器硬盘中获取快,
.NET Core实现企业微信消息推送
接口定义应用支持推送文本、图片、视频、文件、图文等类型。请求方式:POST(HTTPS)请求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN参数说明: ACCESS_TOKEN 必填- 各个消息类型的具体POST格式请阅后续“消息类型”部分。- 如果有在管理端对应用设
.NETCore实现企业微信获取部门成员
1.获取部门成员请求方式:GET(HTTPS)请求地址:https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID&fetch_child=FETCH_CHILD参数说明:参数必须说明access_token是调用接口凭证department_id
.Net中的JunctionPoints(交接点)操作
Junction Points是NTFS v5+的新特性,功能和我们所熟知的UNIX中的文件夹软链接类似(与Windows中的文件夹快捷方式不同的是,它进行了路径重定向)。如在Vista中的C:\Documents and Settings 就是C:\Users的一个链接。然而,在Windows中并没有提供相关命令,只能编程通过API来实现。由于我对WinAPI编程并不熟,这里就不更多介绍了,更多
.Net Core日志记录的核心机制
目录一、前言二、说明三、开始3.1 日志记录器工厂3.1.1 ILoggerFactory 接口3.1.2 LoggerFactory 实现CreateLogger3.2日志记录提供器3.2.1 ILoggerProvider 接口3.3 日志记录器3.3.1 ILogger 接口3.3.2 Logger 实现四、总结一、前言回顾:日志记录之日志配置揭秘 在上一篇中,我们已经了解了内置系统的默认配
.Net Core使用Logger实现log写入本地文件系统
.net core 自带一个基础的logger框架Microsoft.Extensions.Logging。微软默认实现了Microsoft.Extensions.Logging.Console.dll。控制台的日志输出和Microsoft.Extensions.Logging.Debug.dll调试输出。下面我们写一个我们自己的本地文件输出模块demo,简单理解一下自带的这个logger系统。l
.NetCore日志记录之自定义日志组件
一、前言回顾:日志记录之日志核心要素揭秘在上一篇中,我们通过学习了解在.net>ILoggerFactory)中实现将日志记录提供器(ILoggerProvider)对象都可以集成到Logger对象组合中,这样的话,我们就可以通过基于ILoggerProvider自定义日志记录程序集成到Logger中,再创建写日志定义Ilogger,自定义日志记录器实现日志的输出方式,这样实现自定义日志记录工具。
基于ABP架构开发的.NetCore项目部署到IIS问题汇总
在ABP官网创建一个.Net Core项目编译完成1、>2、>目录指向发布的目录3、安装WindowsHostingIIS安装服务器上安装DotNetCore.X.X.X-WindowsHosting安装成功后重启IIS服务器。根据版本选择下载下载地址:https://www.microsoft.com/net/download/windows如果没有安装SDK 需要安装.Net Core SDK
基于.Net Core认证授权方案之JwtBearer认证
目录一.前言二.Bearer认证三.JWT四.开始1. 注册认证服务2.接口资源保护3. 生成Token五. 运行六.扩展说明1、Basic基础认证2、Digest摘要认证七.注意八.总结一.前言回顾:认证方案之初步认识JWT在现代Web应用程序中,即分为前端与后端两大部分。当前前后端的趋势日益剧增,前端设备(手机、平板、电脑、及其他设备)层出不穷。因此,为了方便满足前端设备与后端进行通讯,就必须
为VisualStudio手工安装微软ReportViewer控件
VS2017、VS2019都不自带微软ReportViewer,需要手工安装。一、安装报表设计器官网下载>然后安装。安装后,可以添加报表新项(注意报表显示的繁体字)二、ReportViewer控件包安装新建一个Winfrm应用程序,右键解决方案,选中NuGet包管理器,搜索>安装完成后,可以在左侧工具箱中看到ReportViewer控件。拖到窗体可以直接显示出来。然后选择设计好的rcld报表以上就
使用ASP.Net WebAPI构建REST服务
目录一、创建WebAPI应用程序1、Web API 1版本2、Web API 2版本二、路由三、返回值1、返回void2、返回普通对象3、返回HttpResponseMessage4、返回IHttpActionResult四、参数绑定1、默认绑定方式2、使用 [FromUri] 标记从URI中绑定参数3、使用 [FromBody] 标记从正文中绑定参数4、绑定多个参数五、客户端1、使用HttpCl
浅析.netcore抛异常对性能影响
目录一、前言二、求证2.1 使用.net 6 建立了一个简单的web api 项目 新增两个压测接口api接口代码如下2.2 最终结论参考文献异常和正常代码性能旗鼓相当,但是全局过滤器对性能影响比较大,大概降低了60%左右,全局过滤器走了管道,但是这跟微软官方的性能优化又有冲突,想必微软官方也是出于对全局过滤器异常处理的考虑吧。同时对于添加了业务的情况下,这个降低会被稀释,没去做压测对比哈,正常用
.NET4.0版本中基于任务的异步模式(TAP)
一、引言当使用APM的时候,首先我们要先定义用来包装回调方法的委托,这样难免有点繁琐,>同时微软也意识到了这点,所以在.NET 4.0中提出了一个新的异步模式——基于任务的异步模式TAP(Task-based Asynchronous Pattern )。基于任务的异步模式 (TAP) 是基于 System.Threading.Tasks.Task 命名空间中的 Syste
Asp.net core前端框架Blazor介绍
一、Blazor介绍Blazor是微软在Asp.net>在.Net5中,Blazor将代替传统的Web Pages。可以代替如下代码简单演示了它的基本功能:和Angular JS和VUE的模型非常类似,Blazor 支持大多数应用所需的核心方案:参数事件处理数据绑定路由依赖关系注入布局模板级联值使用Blazor主要有如下好处:C#>.NET 生态系统:利用现有的 .NET 库生态系统。完整堆栈开发
.NET CPU爆高事故事故分析某供应链WEB网站
目录一:背景1. 讲故事二:Windbg 分析1. 查看CPU占用率2. 查看是否 GC 触发3. 是插入数据过多导致的吗?4. 对问题的预判断三:总结一:背景1.>年前有位朋友加微信求助,说他的程序出现了偶发性CPU爆高,寻求如何解决,截图如下:我建议朋友用 procdump 在 cpu 高的时候连抓两个dump,这样分析起来比较稳健,朋友也如期的成功抓到,接下来就用 windbg 一起来分析下
.NET某消防物联网后台服务内存泄漏分析
目录一:背景1. 讲故事二:Windbg 分析1. 托管还是非托管2. 到底是什么在泄漏3. 无引用根为什么不被回收4. 寻找创建 COM 组件的线程三:总结一:背景1.>去年十月份有位朋友从微信找到我,说他的程序内存要炸掉了。。。截图如下:时间有点久,图片都被清理了,不过有点讽刺的是,自己的程序本身就是做监控的,结果自己出了问题,太尴尬了????????????二:Windbg>1.>这个是甄别内存问题的第
.NETWindbg分析某妇产医院WPF内存溢出
目录一:背景1. 讲故事二:Windbg 分析1. 为什么会内存溢出2. 探索溢出原因3. 如何突破 2G 限制三:总结一:背景1.>上个月有位朋友找到我,说他的程序存在内存溢出情况,寻求如何解决。要解决还得通过 windbg 分析啦。二:Windbg>1.>大家都知道内存溢出对应着 .NET 中的 OutOfMemoryException 异常,这种异常有可能是托管代码手工抛出的,也有可能是CL
.Net报表开发控件XtraReport介绍
一、概述在XtraReport中,每一个报表都是XtraReport或者其子类。XtraReport中的报表类可以与数据绑定也可以不绑定。在创建一个报表时,可以从已有的报表中加载样式和布局,样式中包含了报表控件外观的属性值,而布局包含了报表的结构信息。另外,还可以从其他报表系统中导入报表,比如:Access,水晶报表等等。报表类(XtraReport的子类)创建后,就可以生成其实例。需要注意的是
ASP.NET使用SignalR2实现服务器广播
目录一、概述二、服务器端代码1、创建StockTicker和StockTickerHub类2、StockTickerHub类3、StockTicker类1、将单个实例保存在一个静态字段中2、使用ConcurrentDictionary来存放股票数据3、定期的更新股票价格4、通过SignalR Hub的Context对象来实现服务端的推送4、注册SignalR路由三、客户端代码StockTicker
ASP.NET中HttpContext对象下的属性介绍
目录一、HttpContext概述:1、访问方式2、成员对象:二、Application属性:保存所有用户共用的信息三、Cache属性:当前应用程序域服务端缓存对象1.创建Cache2.销毁Cache3.调用Cache四、Request属性1、HttpRequest 对象的属性2、Request.Browser对象的属性五、Response属性:HTTP 响应信息1、属性2、方法六、Server属
.Net行为型设计模式之访问者模式(Visitor)
目录一、动机(Motivate)二、意图(Intent)三、结构图(Structure)四、模式的组成五、访问者模式的代码实现六、访问者模式的实现要点:(1)、访问者模式的主要优点有:(2)、访问者模式的主要缺点有:(3)、在下面的情况下可以考虑使用访问者模式:七、.NET 访问者模式的实现一、动机(Motivate)在软件构建过程中,由于需求的改变,某些类层次结构中常常需要增加新的行为(方法),
.Net行为型设计模式之备忘录模式(Memento)
目录一、动机(Motivate)二、意图(Intent)三、结构图(Structure)四、模式的组成五、备忘录模式的代码实现六、备忘录模式的实现要点:1、备忘录模式的主要优点有:2、备忘录模式的主要缺点有:3、在下面的情况下可以考虑使用备忘录模式:4、备忘录的封装性5、多备份实现6、Memento模式与Command模式的异同七、.NET 备忘录模式的实现一、动机(Motivate)我们看上图,
.Net行为型设计模式之中介者模式(Mediator)
目录一、动机(Motivate)二、意图(Intent)三、结构图(Structure)四、模式的组成五、中介者模式的代码实现六、中介者模式的实现要点:1、中介者模式的优点2、中介者模式的缺点七、.NET 中介者模式的实现一、动机(Motivate)为什么要使用中介者模式呢?如果不使用中介者模式的话,各个同事对象将会相互进行引用,如果每个对象都与多个对象进行交互时,将会形成如下图所示的网状结构。从



闽公网安备 35020302000061号