【.Net Core 组件】Serilog 日志组件
前言与许多其他 .NET 库一样,Serilog 为文件、控制台和其他位置提供诊断日志记录。它易于设置,具有干净的API,并且可以在最近的.NET平台之间移植。
与其他日志记录库不同,Serilog 在构建时考虑了强大的结构化事件数据。
官方配置文件样例:https://github.com/serilog/serilog-aspnetcore
日志组件 SerilogNuGet 引入程序包1Serilog.AspNetCore
配置 Serilog123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263using Serilog;using Serilog.Events;Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .MinimumLevel.Override("Microsoft", LogEvent ...
【.Net Core】对于 AOP 多种支持
前言AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程;
利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。
.Net Core 对于 AOP 多种支持AuthorizeAttribute(权限验证)Post not found: DotNetCore/05.权限验证 AuthorizeAttribute 权限验证
IResourceFilter(资源缓存)Asp.Net Core 6 中提供的是 IResourceFilter / IAsyncResourceFilter
用途:缓存
执行顺序:
MyResourceFilterAttribute.OnResourceExecuting
执行控制器构造函数
执行Action方法
MyResourceFilterAttribute.OnResourceExecuted
MyResourceFilterAttribute.cs
12 ...
【.Net Core】Attribute 特性
前言Attribute 在 C# 中是一个非常强大的特性,它能够给你的程序集添加元数据信息。
Attribute 实际上是一个对象,它可以与以下元素中的任何一个相关联: 程序集、类、方法、委托、枚举、事件、字段、接口、属性和结构,它会在这些对象上做信息声明,当程序运行之后,你可以通过反射来获取关联到这些对象上的 Attribute 信息,换句话说:你可以通过 Atrribute 向程序集注入一些额外信息,然后在运行时通过反射来获取,attribute 一般由 名字 + 一些可选参数 构成, attribute 名字对应着 atrribute 类。
Filter 的多种注册
在 Action 方法上加特性,只对当前 Action 生效
在 Controller 控制器上加特性,当前控制器下所有 Action 都生效
在程序中全局注册,整个项目都生效 123builder.Services.AddControllersWithViews(mvcOptions => { mvcOptions.Filters.Add(AsyncMyLogActionFilterAttri ...
【.Net Core】权限验证
前言Cookie/Session模式下的登录验证Action/控制器上加上特性
12[Authorize][Authorize(AuthenticationSchemes = CookieAuthenticationDefaults.AuthenticationScheme)]//指定渠道
123456789101112131415161718192021222324//使用Sessionbuilder.Services.AddSession();//选择使用哪种方式来鉴权builder.Services.AddAuthentication(option =>{ option.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; option.DefaultChallengeScheme= CookieAuthenticationDefaults.AuthenticationScheme; option.DefaultSign ...
.NET Core优秀开源项目集
微软出品的微服务应用https://github.com/dotnet-architecture/eShopOnContainers
大名鼎鼎的 ABP 应用开发框架https://aspnetboilerplate.com/https://github.com/abpframework/abp
成熟稳定灵活可靠的 NOP 商城https://github.com/nopSolutions/nopCommerce
经典的AOP库 Castle.DynamicProxyhttps://github.com/castleproject/Core
灵魂可爱的DI框架 Autofachttps://github.com/autofac/Autofac
Autofac(Autofac.Extras.DynamicProxy) 爱上了 Castle DynamicProxyhttps://github.com/autofac/Autofac.Extras.DynamicProxy
身份验证服务 IdentityServer4https://github.com/IdentityServer/Ide ...
使用 WinSW 让任何 Windows 程序都能运行为服务
WinSW 介绍有时候我们需要在 Windows 下开机运行某些程序,这对于有图形界面的程序来说一般不是什么事,在选项中选中开机启动,然后它们就可以自动运行了。但是如果我们想运行一些命令行程序的话就没这么方便了。
其实 Windows 自带了一个后台程序管理的功能,就是我们经常用到的服务。但是 Windows 的服务只有程序的开发者在写程序的时候引用到这个功能,我们才能利用服务来控制程序的启动和关闭。对于一般的命令行程序来说,没办法利用服务。所以今天我们就来使用一下标题的这个 WinSW。它可以将 Windows 上的任何一个程序注册为服务,如果不需要,也可以方便的卸载服务。
使用 WinSW下载首先要下载 WinSW。它是一个单个的可执行文件,我们到 Github release 这里就可以下载 WinSW 了。一般来说当然是下载最新的。WinSW 可以运行在 .NET2 和 .NET4 两个版本上,当然如果使用 Win10 等比较新的系统,最好下载更新版本的 .NET。
下载地址:
1https://github.com/dotnetcore/FastGithub/releases ...
Windows 下基于 frp 的内网穿透部署
frp 是什么frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
为什么使用 frp ?通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
代理组间的负载均衡。
端口复用,多个服务通过同一个服务端端口暴露。
多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
服务端和客户端 UI 页面。
部署步骤从 frp 的架构可以看出 frp 的工作流程,在服务端部署 frps,在要访问的机器上部署 frpc,实现服务端对该机器的反向代理。通过访问服务端来实现对该机器的远程访问。
部署环境在 github frp的 rele ...
vue-cli安装教程
vue-cli安装教程
安装cnpm
1npm install -g cnpm --registry=https://registry.npm.taobao.org
安装vue-cli
1cnpm install vue-cli -g
初始化项目
1vue init webpack 项目名称
进入到项目目录,安装模块包
1cnpm install
启动项目
1cnpm run dev
发布项目
1cnpm run build