C#笔记
文章平均质量分 73
学习C#的笔记和心得。
Echo_Wish
分享一下自己的心得和对自己对你的一个认真学习的一个鼓励一个flag吧。现在主要在分享python人工智能相关的知识。分享正能量以及交流一些软件的用法比如linux和编程语言(现在主要在学python和linux)。希望我的博客能带给你一个正能量的心情以及以后能一起交流一下如何写出更好更优雅的代码。
展开
-
一小时学会ASP.NET Core,马上构建你的第一个Web应用
从这个简单的开始,您可以继续学习更多ASP.NET Core的功能和特性,逐步构建更加复杂和功能丰富的Web应用程序。ASP.NET Core是一款跨平台的Web应用程序开发框架,它具有高度的灵活性和性能优势,适用于构建各种规模和类型的Web应用程序。打开您的Web浏览器,并访问http://localhost:5000,您将看到ASP.NET Core的欢迎页面。现在,打开您的Web浏览器,并访问http://localhost:5000,您将看到您刚刚创建的ASP.NET Core Web应用程序。原创 2023-07-27 11:33:46 · 394 阅读 · 0 评论 -
.NET 5 Web API 中JWT详细教程:保护你的Web应用
通过这篇简单的教程,你已经了解了如何在.NET 5 Web API中使用JWT来保护你的Web应用。JWT是一种灵活且安全的认证方式,它可以帮助你验证用户身份并保护你的API免受未授权访问。头部包含加密算法和令牌类型等信息,载荷包含用户的信息,签名用于验证令牌的真实性。在开始之前,我们需要在你的项目中添加一些必要的NuGet包来支持JWT。为了保护你的API,你需要在需要验证用户身份的地方加上[Authorize]特性。在你的登录逻辑中,当用户成功登录后,你需要生成一个JWT令牌并返回给客户端。原创 2023-07-26 09:47:27 · 1384 阅读 · 1 评论 -
ASP.NET Core 集成JWT
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。原创 2022-10-02 22:30:23 · 1295 阅读 · 0 评论 -
Autofac 注入仓储模式
AutofacRegisterModule.cs类 注入仓储层和服务层二、构造函数注入新建IUserService,类UserService,控制器UserController在上面的ConfigureContainer方法把UserService注入进来,默认是瞬时注入瞬时注入:containerBuilder.RegisterType().As().InstancePerDependency();;单例注入:containerBuilder.RegisterType().As().Si原创 2022-10-01 09:26:17 · 1106 阅读 · 0 评论 -
Emgu.CV 报错 Emgu.CV.Util.CvException: OpenCV
通过仔细检查代码,推测可能是传入的X,Y坐标的问题。在之前使用System.Drawing 的Bitmap处理图片时,打开图片,获取到Bitmap对象后,图片的坐标是都为负值,即均为负坐标。而在尝试改成正坐标之后,异常解决了。这里的推测是opencv 的image对象和system.Drawing 的image对象应该是不同的,同样的截图一块区域,System.Drawing 负坐标正常截取,而opencv则是正坐标才正常截取。Emgu.CV 中,如果截取的区域超过图片的大小边界,则而会抛出同样的异常。..原创 2022-08-29 21:37:48 · 1722 阅读 · 0 评论 -
C# 统计指定文件夹下的文件
【代码】C# 统计指定文件夹下的文件。原创 2022-08-28 08:24:36 · 437 阅读 · 0 评论 -
C# 统计指定文件夹下的文件
【代码】C# 统计指定文件夹下的文件。原创 2022-08-23 14:59:16 · 497 阅读 · 0 评论 -
C# 图片RGB处理判断
方法需要传入新的图片对象(Bitmap),原图的标准RGB平均值,新图的RGB颜色,新图和原图的RGB相差偏移量。返回新图的RGB平均值是否在原图的RGB平均值偏移量之内。原创 2022-08-23 11:54:50 · 806 阅读 · 1 评论 -
C# 截取图片斜距形
通过网页提供的信息可以快速的确定坐标,以及标尺工具确定大小等。可以看到,基本实现了我们所需的效果。图中虚线框是我们要截取的部分。原创 2022-08-18 17:15:52 · 256 阅读 · 0 评论 -
ASP.NET Core 使用redis
ASP.NET Core 使用redis原创 2022-07-04 09:03:03 · 939 阅读 · 0 评论 -
ASP.NET CORE 自定义中间件
ASP.NET CORE 自定义中间件原创 2022-07-04 09:00:36 · 755 阅读 · 0 评论 -
ASP.NET Core使用记录3
ASP.NET Core日常使用记录3原创 2022-07-04 09:00:01 · 495 阅读 · 0 评论 -
Windows Service和Worker Service
Windows Service和Worker Service原创 2022-07-04 09:00:59 · 505 阅读 · 0 评论 -
设计模式之单例设计模式和抽象工厂模式
设计模式之单例设计模式和抽象工厂模式原创 2022-07-03 14:58:57 · 238 阅读 · 0 评论 -
ASP.NET Core 使用Autofac
ASP.NET Core 使用Autofac原创 2022-07-03 14:57:24 · 765 阅读 · 0 评论 -
ASP.NET Core 使用记录2
ASP.NET Core 使用记录2原创 2022-07-03 14:54:49 · 137 阅读 · 0 评论 -
微服务入门
微服务体系结构是一种将大型应用程序分解为一组较小的服务的方法。 每个服务都在自己的进程中运行,并使用 HTTP/HTTPS、WebSocket 或 AMQP 等协议与其他进程进行通信。 每个微服务在特定的上下文边界内实现特定的端到端域或业务功能,每个微服务都必须自主开发,并且可以独立部署。...原创 2022-07-03 14:52:06 · 998 阅读 · 0 评论 -
ASP.NET Core部署到linux(CentOS)
gitee 添加公钥示意。将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。通过如下命令安装SDK (可指定版本)使用如下命令验证dotnet安装安装netcore运行时安装不同的.net core 版本修改对应版本即可。https://dotnet.microsoft.co...原创 2022-07-03 14:45:06 · 875 阅读 · 0 评论 -
ASP.NET Core 部署到docker
ASP.NET Core:ASP.NET Core程序使用Docker部署原创 2022-07-03 14:42:14 · 914 阅读 · 0 评论 -
ASP.NET Core 使用记录1
在将项目部署到云服务器上时,在云服务器启动项目服务时,默认的 launchsetting.json 里的applicationUrl是监听 http://localhost:5000 这些url,而我们要想通过公网访问我们的接口服务,这样的配置是不行的。需要改成 http://*:5000 这样的url,才能通过公网IP来访问我们的项目服务。......原创 2022-07-03 14:40:09 · 326 阅读 · 0 评论 -
Supervisor的简单使用
官网:http://supervisord.org,源码位置:https://github.com/Supervisor/supervisorSupervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。...原创 2022-07-03 14:37:14 · 1240 阅读 · 0 评论 -
ASP.NET Core基础补充07
ASP.NET Core (异常中间件)了解异常中间件首先,使用ASP.NET模板创建一个核心应用程序。默认情况下,ASP.NET核心应用程序只是返回应用程序未处理的异常的状态代码。如下所示,我们引发异常。运行应用程序时,将得到以下输出。如上图所示,它为您提供的状态代码为 500,这意味着内部服务器错误。但是,作为开发人员,在开发应用程序时,您应该知道有关页面上异常的详细信息,以便可以采取必要的操作来修复错误。如何使用异常中间件?如果希望应用程序显示显示有关未处理异常的详细信息的页面,则需要原创 2021-11-28 22:57:55 · 241 阅读 · 0 评论 -
ASP.NET Core基础补充08
ASP.NET Core (.NET CLI)CLI (Command Line Interface).NET Core CLI(命令行界面)是一个新的跨平台工具,用于创建,还原程序包,构建,运行和发布ASP.NET Core应用程序。适用于任何类型的Web应用程序的.NET Core CLI命令使用进程外托管,即它使用Kestrel服务器运行该应用程序。到目前为止,我们创建的所有应用程序都使用Visual Studio。 Visual Studio在内部使用此.NET CLI命令还原,生成和发布应用原创 2021-11-28 22:55:09 · 297 阅读 · 0 评论 -
ASP.NET Core基础补充06
ASP.NET Core (wwwroot)什么是ASP.NET Core中的wwwroot文件夹?默认情况下,ASP.NET Core应用程序中的wwwroot文件夹被视为webroot文件夹,并且该文件夹或目录应位于根项目文件夹中。 在ASP.NET Core应用程序中,静态文件可以存储在webroot文件夹下的任何文件夹中,并且可以使用指向该根目录的相对路径进行访问。添加wwwroot(webroot)文件夹当使用Web和MVC模板创建ASP.NET Core Web应用程序时,默认情况下,该原创 2021-11-28 22:52:55 · 437 阅读 · 0 评论 -
ASP.NET Core基础补充05
ASP.NET Core (请求处理管道)了解ASP.NET处理管道为了理解ASP.NET Core中的请求处理管道概念,让我们修改Startup类的Configure()方法,如下所示。 在这里,我们将三个中间件组件注册到请求处理管道中。 如您所见,前两个组件是使用Use() 扩展方法注册的,因此它们有机会在请求处理管道中调用下一个中间件组件。 最后一个使用Run() 扩展方法注册,因为它将成为我们的终止组件,即它将不会调用下一个组件。了解ASP.NET Core请求处理管道执行顺序为了理解这一原创 2021-11-28 22:49:45 · 231 阅读 · 0 评论 -
ASP.NET Core基础补充04
typora-root-url: imageASP.NET Core (MiddleWare)什么是ASP.NET核心中间件组件?ASP.NET核心中间件组件是被组装到应用程序管道中以处理HTTP请求和响应的软件组件(从技术上来说,组件只是C#类)。 ASP.NET Core应用程序中的每个中间件组件都执行以下任务。选择是否将 HTTP 请求传递给管道中的下一个组件。这可以通过在中间件中调用下一个 next() 方法实现。可以在管道中的下一个组件之前和之后执行工作。在ASP.NET Cor.原创 2021-11-28 22:43:34 · 445 阅读 · 0 评论 -
ASP.NET Core基础补充03
typora-root-url: imageASP.NET Core (Startup)StartupASP.NET Core必须包含Startup类。它就像 Global.asax 文件,我们传统的 .NET 应用程序。如名称建议的那样,在应用程序启动时首先执行它。在程序类的Main方法中配置主机时,可以使用**UseStartup()**扩展方法配置启动类。请查看下面的程序类,并重点介绍 WebBuilder.UseStartup() 方法。名称“Startup”是按照ASP.NET Cor.原创 2021-11-28 22:40:40 · 419 阅读 · 0 评论 -
ASP.NET Core基础补充02
typora-root-url: imageASP.NET Core (launchSettings)了解launchSettings.json打开launchSettings.json 文件后,默认情况下,您将找到以下代码。在这里,您可以看到,我们有两个部分。 一种用于IIS Express(IIS服务器),另一种用于Kestrel服务器。 在Visual Studio中,您可以找到上述两个配置文件(IIS Express和FirstCoreWebApplication),如下所示。如果选.原创 2021-11-28 22:37:40 · 631 阅读 · 0 评论 -
ASP.NET Core基础补充01
typora-root-url: imageASP.NET Core (Main方法)为什么ASP.NET Core采用Main方法?需要记住的最重要的一点是,ASP.NET Core Web 应用程序最初作为控制台应用程序启动,Main() 方法是应用程序的入口点。因此,当我们执行ASP.NET Core Web应用程序时,首先它寻找 Main() 方法,这是执行开始的方法。然后,Main()方法将ASP.NET配置并启动它。此时,应用程序将成为ASP.NET Core Web应用程序。如果进一.原创 2021-11-28 22:25:12 · 627 阅读 · 0 评论 -
C# 异步编程03
同步和异步异步编程异步编程的用途12异步编程和Continuation语言的支持async 和 awaitawaitasync异步方法执行await 的作用异步函数的编写C#中设计异步函数原创 2021-11-20 13:27:22 · 634 阅读 · 0 评论 -
C# 异步编程02
线程池线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。、注意点:使用者:原创 2021-11-20 13:24:59 · 546 阅读 · 0 评论 -
C# 异步编程01
线程概念:线程是-一个可执行路径,它可以独立于其它线程执行。每个线程都在操作系统的进程(Process) 内执行,而操作系统进程提供了程序运行的独立环境。单线程应用,在进程的独立环境里只跑一个线程,所以该线程拥有独占权。多线程应用,单个进程中会跑多个线程,它们会共享当前的执行环境(尤其是内存)例如一个线程在后台读取数据,另一个线程在数据到达后进行展示。这个数据就被称作是共享的状态。线程抢占:当线程在执行于另一个线程上代码的执行交织的那一点时,就可以称之为线程抢占。线程常用属性:原创 2021-11-20 13:20:36 · 531 阅读 · 0 评论 -
ASP.NET CORE Study11
简易个人博客项目搭建笔记1.概述项目梗概通过做一个比较简单,通俗易懂的个人博客项目,很简单的增删改查,来更好学习asp.net core,这个项目使用asp.net core webapi+elementui来做。2.数据库设计文章表ID文章标题文章内容创建时间文章类型ID浏览量点赞量作者ID文章类型表ID类型名作者表ID姓名账号密码 MD53.架构设计仓储层服务层MD5加密public static string MD5Encrypt32(stri原创 2021-09-27 09:14:34 · 126 阅读 · 0 评论 -
ASP.NET CORE Study09
rpc 相关概念RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。rpc 简单来说:RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。RPC 会隐藏底层的通讯细节(不需要直接处理Socket通讯或Http通讯) RPC 是一个请求响应模型。客户端发起请求,服务器返回响应(类似于Http的工作方式) RPC 在使用形式上像调用本地函数原创 2021-09-27 09:12:26 · 99 阅读 · 0 评论 -
ASP.NET CORE Study08
Get新知识:缓存相关概念:缓存的类型:总结:总的来说,私有缓存会减少网络带宽的需求,同时会减少从缓存到API的请求。因为私有缓存是存储在客户端浏览器的,对于请求来说,如果缓存还在有限期内,那么请求连网络请求都不会发出会直接在客户端浏览器获取到响应,这样就减少网络请求次数,同样也会减少API请求次数。而共享缓存不会节省缓存到API的网路带宽,但是它会减少请求到API的请求。因为共享缓存是存放在服务器端的,请求是一定要先到达服务器端,这就不会减少网络带宽,但会减少到API的请求,因为后续的请求原创 2021-07-03 10:10:40 · 96 阅读 · 0 评论 -
ASP.NET CORE Study07
Get新知识:IPropertyMappingServicePropertyMappingService 服务提供类 的提取接口。 public interface IPropertyMappingService { Dictionary<string, PropertyMappingValue> GetPropertyMapping<TSource, TDestination>(); bool ValidMappingExixts原创 2021-07-03 10:08:24 · 106 阅读 · 0 评论 -
ASP.NET CORE Study06
自定义配置警告信息需要在 startup 类中的 ConfigureService 方法中进行配置示例: // 注册 控制器服务 services.AddControllers(configure: setup => { setup.ReturnHttpNotAcceptable = true; //setup.OutputFormatters.Add(new XmlDataCon原创 2021-07-03 10:07:25 · 138 阅读 · 0 评论 -
ASP.NET CORE Study05
响应中 location 的设置示例:发送POST 请求,进行创建资源的操作。注意的请求头中content-type 的设置,需要设置成 application/json 类型,并不一定需要json 类型的数据,但默认情况下使用的都是json传输数据,否则asp.net core 会返回 415 状态码。同时请求体中 也要符合api 接口需要的格式,如果不符合,则会得到 400 的响应码。在响应头中 包含 location 信息, 标识的新创建的资源的所在。使用 代码示例:原创 2021-07-03 10:06:44 · 139 阅读 · 0 评论 -
ASP.NET CORE Study04
Binding source Attributes借助 binding source attributes 可以将请求传递的数据传递给 api,详细的attribute 如下图。但 在 api 项目下的 标识了 apicontroller 的controller下,binding source attributes 的规则 有所改变HttpHEADhead 也是一种http 请求方法,他跟 get 方法非常相似。重要的不同在于 head 方法不会返回 body ,只有响应头信息。head 可以原创 2021-07-03 10:05:17 · 126 阅读 · 0 评论 -
ASP.NET CORE Study03
HTTP 状态码4xx 状态码详解2xx 状态码5xx 表示服务器内部错误,只能等待服务器内部解决。对于web api 来讲不需要使用到 1xx 的状态码,绝大多数的web api 也使用不到3xx 的状态码。HTTP 方法http 提供了很多可供使用的方法,但最常用的还是以下几种。http方法 的使用,建议 使用 约定俗成的http 方法 来完成动作。automapper 的使用安装automapper nuget 包在 startup 配置类中 的ConfigureS原创 2021-07-03 10:03:26 · 115 阅读 · 0 评论