.Net
文章平均质量分 74
一些 .Net 方面知识
菜鸟厚非
一枚跨平台技术爱好者,追求对新技术的掌握和最佳解决方案的搜寻。
展开
-
基于 Quartz.NET 可视化任务调度平台 QuartzUI
QuartzUI 是基于 Quartz.NET3.0 的定时任务 Web 可视化管理,Docker 打包开箱即用、内置 SQLite 持久化、语言无关、业务代码零污染、支持 RESTful 风格接口、傻瓜式配置、异常请求邮件通知等。原创 2024-04-01 08:00:00 · 12002 阅读 · 0 评论 -
.NET Framework拦截HTTP请求
今天讲一下 .NET Framework 程序中拦截 HTTP 请求,这主要用于记录 HTTP 信息,调试程序、分析程序性能等方面。这里贴出实现的核心代码,具体需要结合自己的业务。原创 2023-03-04 09:00:00 · 24706 阅读 · 0 评论 -
.NET Framework集成Quartz
今天讲一下 .NET Framework 程序中集成 Quartz 框架,这里使用的是 RAM 模式,Quartz 主要用于定时执行任务方面。这里贴出实现的核心代码,具体需要结合自己的业务,比如:Corn 表达式可以放在配置中心(ZK、Apollo 等)、使用 Quartz DB 模式、Quartz 集群模式、Job 开启结束时间等等。原创 2023-02-25 13:00:00 · 10797 阅读 · 1 评论 -
.NET Framework获取Request IP
今天说一下 .NET Framework 程序获取 HTTP Request IP ,分为两种情况。第一种是直接访问程序,不经过代理(Nginx、Gateway 等)。第二种是经过了代理(Nginx、Gateway 等)访问程序。这两种的获取 IP 方式是不同的。原创 2023-02-18 11:24:45 · 13026 阅读 · 0 评论 -
Sitecore本地安装详细介绍
Sitecore 是一种 CMS(内容管理系统,位于 Web 前端和后端办公系统或流程之间的软件系统),本文已当前最新的 10.2.0 版本为例,介绍如何安装部署。原创 2023-02-03 19:38:54 · 17829 阅读 · 2 评论 -
.NET Framework应用跨域问题解决方案
CORS 全称 Cross-Origin Resource Sharing,是一种允许当前域(domain)的资源(比如 html/js/web service)被其他域(domain)的脚本请求访问的机制,通常由于同域安全策略(the same-origin security policy)浏览器会禁止这种跨域请求。原创 2022-12-10 16:13:25 · 16365 阅读 · 0 评论 -
Web应用程序,简单的日志系统解决方案
今天介绍一下,当你的程序没有日志系统时,如何快速方便查看当前程序日志的解决方案。如果你的程序有日志系统,可以不看本篇博客哈。本文实例是使用 C# 讲解,当然实现的核心思想使用于其他语言。这里介绍 DotNet Core 与 DotNet Framework 两种平台的解决方案,这里只讲了核心代码,实际使用可以根据自己的实际情况,加一些限制或者安全效验。如下,新建一个 CustomerService 程序,日志在项目的 Logs 文件夹下创建一个 LogController Web API,并创建一个 F原创 2022-12-03 20:07:10 · 24721 阅读 · 0 评论 -
来,了解一下C#延迟初始化
介绍在.NET4.0中,可以使用 Lazy 来实现对象的延迟初始化,从而优化系统的性能。延迟初始化就是将对象的初始化延迟到第一次使用该对象时。延迟初始化是我们在写程序时经常会遇到的情形,例如创建某一对象时需要花费很大的开销,而这一对象在系统的运行过程中不一定会用到,这时就可以使用延迟初始化,在第一次使用该对象时再对其进行初始化,如果没有用到则不需要进行初始化,这样的话,使用延迟初始化就提高程序的效率,从而使程序占用更少的内存。代码实操创建类型这里我们定义一个类型,并在构造函数内进行初始化,并打原创 2021-09-18 08:59:35 · 18265 阅读 · 0 评论 -
详解.NET Model ValidationAttribute的使用
ValidationAttribute 验证特性一般用来验证数据的格式,范围,是否必填等,我们通过它的子类特性 Range、Required 等特性可以轻松实现对数据的验证。但是对于一些特殊需要的特性,系统自带的特性局限性很大,我们也可以自定义扩展需要的特性。原创 2022-05-08 14:00:00 · 28188 阅读 · 0 评论 -
聊一聊C#与.NET之间的关系
C# 语言介绍C#(读作“See Sharp”)是一种新式编程语言,不仅面向对象,还类型安全。 开发人员利用 C# 能够生成在 .NET 中运行的多种安全可靠的应用程序。 C# 源于 C 语言系列,C、C++、Java 和 JavaScript 程序员很快就可以上手使用。C# 是面向对象的、面向组件的编程语言。 C# 提供了语言构造来直接支持这些概念,让 C# 成为一种非常自然的语言,可用于创建和使用软件组件。 自诞生之日起,C# 就添加了支持新工作负载和新兴软件设计实践的功能。 C# 本质上是面向对象原创 2021-10-04 11:36:15 · 5204 阅读 · 0 评论 -
Temporary ASP.NET Files 写访问权限
介绍如图错误,详细许多小伙伴都非常熟悉,是在 ASP.NET Framework 部署到 IIS 访问时出现的错误,这个错误出现的原因也非常简单,就是没有文件夹与没有文件的权限。解决方案如图,我们在 IIS 部署的 ASP.NET Framework 程序 ,端口绑定 10001 ,我们这里以 Nuget Server 为例访问 http://127.0.0.1:10001/,可以看到出现了 Temporary ASP.NET Files 写访问权限的问题接着我到,保错误的文件夹中,可以看原创 2021-12-13 08:00:00 · 8600 阅读 · 37 评论 -
详谈C#反射及应用
反射什么是元数据?什么是反射?程序数用来处理数据的,文本和特性都是数据,而程序本身(类的定义和BLC中的类)这些也是数据。有关程序及其类型的数据被称为元数据,他们保存在程序集中。程序在运行时,可以查看其他程序集或其本身元数据。一个运行的程序查看本身的元数据或其他程序集的元数据的行为称为反射。Type使用 Type 类进行反射,使用特性给类型添加元数据对于程序中用到的每个类型,CLR 都会创建一个包含这个类型信息的 Type 对象。程序中每用到一个类型都会关联到独立的 Type 类的对象原创 2021-10-16 13:15:27 · 27529 阅读 · 2 评论 -
异步多线程之入门必知
简介今天来谈谈异步多线程,做网站服务的同学都知道,Web 应用是天生的异步多线程,无论做 Winform、WPS、Webform 等,异步多线程的应用是非常广泛的。进程、线程1. 进程一个应用程序运行时,占用资源的综合是一个进程。Windows任务管理器里面可以看到,里面一个个都是在运行的进程。2. 线程程序是执行流的最小单位。线程其实是看不到的,其实也可以,例如 Windows 任务管理器:正在运行272个进程,272个进程运行了 3909 个线程。分时、分片CPU实在太快了,内存原创 2021-11-09 09:09:18 · 8977 阅读 · 0 评论 -
异步多线程之入Task详解
Task原创 2021-11-29 16:08:36 · 8694 阅读 · 12 评论 -
来,从零手写一个IOC容器
IOC(控制翻转)是程序设计的一种思想,其本质就是上端对象不能直接依赖于下端对象,要是依赖的话就要通过抽象来依赖。原创 2022-06-14 19:18:06 · 28853 阅读 · 4 评论 -
详解异步多线程使用中的常见问题
上一篇:异步多线程之Parallel异常处理小伙伴有没有想过,多线程的异常怎么处理,同步方法内的异常处理,想必都非常非常熟悉了。那多线程是什么样的呢,接着我讲解多线程的异常处理首先,我们定义个任务列表,当 11、12 次的时候,抛出一个异常,最外围使用 try catch 包一下static void Main(string[] args){ Console.WriteLine($"Main Start,ThreadId:{Thread.CurrentThread.ManagedThre原创 2022-01-03 14:35:42 · 26683 阅读 · 22 评论 -
详解Visual Studio热重载,实时修改Debug代码
原创 2022-01-09 14:09:06 · 19816 阅读 · 26 评论 -
C# 线程安全
System.Collections.Concurrent 命名空间下提供多个线程安全集合类,只要多个线程同时访问集合,就应使用这些类来代替 System.Collections 和 System.Collections.Generic 命名空间中的相应类型。 但是,不保证通过扩展方法或通过显式接口实现访问集合对象是线程安全的,可能需要由调用方进行同步。.........原创 2021-09-16 17:41:44 · 24464 阅读 · 0 评论 -
异步多线程之Thread详解
异步多线程版本在 .NET中随着时间的发展,线程是有许多个版本的1.0 Thread、2.0TthreadPool、3.0 Task、4.0 Parallel 等,今天我就一一进行讲解。1.0 时代在1.0 时代C# 就考虑到了多线程,于是就设计了 Thread 其实现在都不会再用了,除非在维护老的项目已经用了的。Thread 也是比较鸡肋的,有很多缺陷,但也并不是一无是处。首先看 Thread 的构造函数,ThreadStart 无参数类型的委托、ParameterizedThreadStart原创 2021-11-11 20:32:27 · 9122 阅读 · 0 评论 -
异步多线程之Parallel详解
Parallel 叫做并行编程 .Net 4.5 时代的,基于 Task 基础上做了封装。Parallel 的特点方便控制线程并发数量与节省一个线程。原创 2021-12-19 15:20:56 · 18544 阅读 · 38 评论 -
NuGet 之搭建私有服务器
搭建流程一、Framework 版1. 新建项目新建 Framework 版的 ASP.NET Web 应用程序2. 安装依赖安装 nuget.server package3. 启动项目启动发下运行错,语言是 web.config 配置文件重复,删除一个即可。再次启动程序,运行正常4. 发布程序发布新建 IIS 站点访问,出现错误,服务器缺少对应版本的 Framework 下载 官网,安装完成后服务器需重启访问 http://1原创 2021-05-26 16:18:43 · 9696 阅读 · 0 评论 -
详谈C#特性及应用
详谈C#特性原创 2021-10-25 14:35:13 · 11972 阅读 · 0 评论 -
详谈.NET中负载均衡的使用
负载均衡(Load Balance),简称 LR,就是将并发的用户请求通过规则后平衡、分摊到多台服务器上进行执行,以此达到压力分摊、数据并行的效果。常见的算法也有许多随机、轮询、加权等,今天我们就使用 C# 来实现这几种算法,并讲解在实际项目中的使用。............原创 2022-06-21 15:26:28 · 26061 阅读 · 4 评论 -
异步多线程之ThreadPool详解
ThreadPool原创 2021-11-17 21:13:50 · 8192 阅读 · 2 评论 -
茶余饭后,详谈一下泛型 T
泛型是 .NET 2.0 时出现的产物,C# 2.0 可以使用的语法,它不是语法糖,需要编译器与框架升级共同支持。原创 2022-01-26 21:01:07 · 30396 阅读 · 30 评论 -
数据库连接池,你不知道的秘密
众所周知,建立一个数据库连接是一件非常耗时(消耗时间)耗力(消耗资源)的事情。之所以会这样,是因为连接到数据库服务器需要经历几个漫长的过程:建立物理通道(例如套接字或命名管道)、与服务器进行初次握手、分析连接字符串信息、由服务器对连接进行身份验证、运行检查以便在当前事务中登记等等。我们先不管为什么会有这样的机制,存在总是有它的道理。既然新建一条连接如此痛苦,那么为什么不重复利用已有的连接呢?......原创 2022-03-07 12:43:43 · 20616 阅读 · 24 评论 -
一款轻量级的NuGet服务器
BaGet (发音为“baguette”) 是一个轻量级的 NuGet、Symbol 服务器。它是开源的、跨平台的和云化的,可以运行再自己得电脑、Docker、Azure、AWS、Google Cloud 、Alibaba Cloud (Aliyun) 等。支持 MySQL、SQLite:、SqlServer、PostgreSQL、Azure Table Storage 这些数据存储方式。原创 2022-11-19 11:34:03 · 20326 阅读 · 0 评论 -
ViewConfig查看调试.NET Core中的配置
.NET Core 中配置包含了多个配置提供程序,包括了 appsettings.json,环境变量,命令行参数等,还有一些扩展的自定义提供程序,比如说 ApolloConfig,AgileConfig 这些。有时需要知道一个配置是由哪一个Provider执行的,以及配置冲突导致设置没有生效,在.NET Core 程序中可以使用 ViewConfig 组件来调试配置。...原创 2022-07-15 15:35:02 · 14386 阅读 · 0 评论 -
通过Filter给Request、Response加点料
使用过 ASP.NET 的同学都知道,Filter 是一个非常中的概念,是项目开发过程中也是经常使用的。今天我们就来讲讲,通过Filter给 Request、Response 加点料。通过 Filter 处理 Request、Response 的应用场景有许多:对 token 业务上的验证、可以封装框架对 request 的基本验证等等。原创 2022-06-02 14:52:51 · 25999 阅读 · 3 评论 -
详解Minimal Web API的使用
"Minimal API 是为了创建具有最小依赖关系的 HTTP API",这是官方的解释。什么意思呢,创建一个 API 并不需要加载许多的依赖。平时在开发 ASP.NET Core Web API 时,通常需要创建 Controller 来定义我们的 API 这种方式,会使用一些依赖包,这种就不是 Minimal API 。今天要将的就是,不用 Controller 的方式创建 API ,即 Minimal Web API。............原创 2022-06-13 13:10:41 · 12867 阅读 · 0 评论 -
单元测试中Assert详解-xUnit
Assert 基于代码的返回值、对象的最终状态、事件是否发生等情况来评估测试的结果。Assert 的结果可能是 Pass 或者 Fail。如果所有的 Asserts 都通过了,那么整个测试就通过了。如果任何 Asserts 失败了,那么结果就失败了。原创 2022-04-05 14:00:23 · 13363 阅读 · 16 评论 -
详解项目中使用dotPeek调试源码
说到 debug 源码,许多很多搞开发的小伙伴都会异常的兴奋,这也是像上成长的毕竟之路。调试源码方式通常有两种:一是有了源代码,也有了 .pdb 文件。二是借助第三方工具,如 dotPeek 等。而今天要说的就是第二种方式。......原创 2022-07-31 11:21:42 · 27365 阅读 · 2 评论 -
如何使用Visual Studio查看C#源码
当人员进行项目开发时,经常需要查看他们在代码中所使用的类型或类成员的源代码定义。在 Visual Studio 中,经常使用 “转到定义”和“速览定义” 查看类型或成员的定义。如果源代码不可用,则会显示为元数据。原创 2022-01-16 14:00:00 · 28299 阅读 · 23 评论 -
详谈单元测试-xUnit
简介xUnit.net 是针对 .NET 的免费,开源单元测试工具。可并行测试、数据驱动测试。测试项目需引用被测试项目,从而对其进行测试,测试项目同时需要引用 xUnit。测试编写后,用 Test Runner 来测试项目,Test Runner 可以读取测试代码,并且知道所会使用的测试框架,然后执行,并显示结果。如下图:支持平台xUnit.net 目前支持 .Net Framework、.Net Core、.Net Standard、UWP、Xamarin 这些平台的测试。原创 2021-12-26 15:55:02 · 18687 阅读 · 19 评论 -
你可能一直在以错误的方式使用HttpClient
在微服务架构体系中经常需要向特定 URL 地址发送 Http 请求操作,在 .net core 中 httpClient 使用不当会造成灾难性的问题,这篇文章主要来分享 .net core 中通过 IHttpClientFactory 工厂来使用 HttpClient 的正确打开方式。.........原创 2021-11-21 18:15:47 · 23180 阅读 · 11 评论 -
通过计数器分析微服务性能
介绍.NET 计数器工具允许在 Visual Studio 中随着时间将 dotnet 计数器可视化,即通过图标的方式,查看系统在整个运行过程中的情况。.NET 计数器工具需要 Visual Studio 2019 版本 16.7 或更高版本,并面向 .NET Core 3.0+。原创 2021-12-06 08:00:00 · 6910 阅读 · 24 评论 -
.Net Core 部署 Docker 遇错及解决方案
docker 版本问题https://www.cnblogs.com/qmhuang/p/11132818.html原创 2021-05-25 13:35:23 · 2908 阅读 · 0 评论 -
Jenkins + Docker(.NetCore)
https://www.studenty.cn/?p=1451原创 2021-06-16 10:21:10 · 14272 阅读 · 0 评论 -
.NET Core 模板项目 - Local
.NET Core项目模板https://www.cnblogs.com/catcher1994/p/10061470.html原创 2021-07-01 19:42:14 · 1510 阅读 · 0 评论 -
NET Core 模板项目 - NuGet
NET Core项目模板https://www.cnblogs.com/catcher1994/p/10061470.htmlhttps://blog.csdn.net/asxza28042/article/details/101390136原创 2021-07-02 11:14:54 · 13812 阅读 · 0 评论