随笔分类 -  .Net Core

摘要:/// <summary> /// ignore some api on swagger.json /// </summary> [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] pu 阅读全文
posted @ 2020-12-21 17:45 IWing 阅读(2852) 评论(0) 推荐(0) 编辑
摘要:创建自签名数字证书PFX格式 1 在系统中安装一个自签名数字证书 1.1 安装makecert.exe,可直接安装Visual Studio(Visual Studio包含makecert.exe) 1.2 使用makecert.exe在系统中安装一个自签名数字证书 1.2.1 打开vs的命令行。 阅读全文
posted @ 2020-12-17 18:12 IWing 阅读(2329) 评论(1) 推荐(0) 编辑
摘要:services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); c.AddSecurityDefinition("Bearer", new OpenApiS 阅读全文
posted @ 2020-08-19 14:07 IWing 阅读(213) 评论(0) 推荐(0) 编辑
摘要:services.AddCors(options => { options.AddPolicy("abc", builder => { //App:CorsOrigins in appsettings.json can contain more than one address with split 阅读全文
posted @ 2020-08-19 14:06 IWing 阅读(187) 评论(0) 推荐(0) 编辑
摘要:services.AddControllers().AddJsonOptions(c => { c.JsonSerializerOptions.PropertyNamingPolicy = new NormalPolicy(); }); public class NormalPolicy : Jso 阅读全文
posted @ 2020-08-19 11:05 IWing 阅读(693) 评论(0) 推荐(0) 编辑
摘要:public override void OnActionExecuted(ActionExecutedContext context) { if (context.Exception != null && context.ExceptionHandled == false) { context.E 阅读全文
posted @ 2020-08-18 12:33 IWing 阅读(661) 评论(0) 推荐(0) 编辑
摘要:.net core 3.0后,获取IServiceProvider需要绕点弯路 首先,新建一个类: public class MyServiceProviderFactory : IServiceProviderFactory<IServiceProvider> { public IServiceP 阅读全文
posted @ 2020-08-14 20:38 IWing 阅读(2915) 评论(0) 推荐(1) 编辑
摘要:依赖注入 var connectionConfiguration = new ConnectionConfiguration { Hosts = new List<HostConfiguration> { new HostConfiguration { Host = hostName, Port = 阅读全文
posted @ 2020-08-13 11:45 IWing 阅读(808) 评论(0) 推荐(0) 编辑
摘要:nuget 引入: Serilog.Extensions.LoggingSerilog.Settings.ConfigurationSerilog.Sinks.ConsoleSerilog.Sinks.File 初始化代码: var log = new LoggerConfiguration() . 阅读全文
posted @ 2020-08-11 12:04 IWing 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-08-07 09:21 IWing 阅读(213) 评论(0) 推荐(0) 编辑
摘要:JMS所有服务器程序,包括Gateway、GatewayReferee、Proxy、TokenServer、以及编写的微服务器,都支持使用第三方工具进行健康检查。 使用telnet 进行健康检查 向任意服务器,发送 FFFF 字符串,服务器会返回 ok。 (echo 'FFFF'; sleep 2) 阅读全文
posted @ 2020-07-31 15:51 IWing 阅读(343) 评论(0) 推荐(0) 编辑
摘要:默认情况下,如果在linux,需要关闭微服务进程,请务必使用 kill -15 进程id 命令,其他命令可能会直接关闭进程,造成数据丢失。 例如,有个后台任务,执行了一半,这时候进程突然关闭了,会形成一些无法预计的后果。 Kill -15 命令的安全性 默认情况下,当发出kill -15命令,JMS 阅读全文
posted @ 2020-07-31 15:20 IWing 阅读(379) 评论(0) 推荐(0) 编辑
摘要:用户token,也可以利用第三方框架生成,JMS也包含了自己的token服务器。 部署TokenServer 到这里下载 tokenserver.zip,然后部署运行TokenServer。 微服务中编写Login函数 引用 JMS.Token nuget包 代码如下: public class M 阅读全文
posted @ 2020-07-23 10:10 IWing 阅读(921) 评论(0) 推荐(0) 编辑
摘要:通常,多个相同的微服务器,它们的appsettings.json配置文件的内容都是一样的,如果,每次修改配置文件,都要逐个替换,那就太繁琐了,我们可以利用网关的文件共享功能,实现配置文件的统一更新。 网关打开文件共享 首先,在网关程序的当前目录下,新建一个文件夹shares 然后编辑网关的appse 阅读全文
posted @ 2020-07-23 10:08 IWing 阅读(653) 评论(0) 推荐(0) 编辑
摘要:分布式锁 在Controller当中,提供了分布式锁的功能,代码如下: class HelloworldController : MicroServiceControllerBase { static List<string> Users = new List<string>(); ILogger< 阅读全文
posted @ 2020-07-23 10:06 IWing 阅读(786) 评论(0) 推荐(3) 编辑
摘要:在上一篇,我们写了简单的Hello world微服务,现在,我们往这个微服务当中,加入一个支持分布式事务的函数,因为不想写太长的代码,我就不用数据库做演示了,只是简单给大家演示一下,怎么把事务的提交、回滚,放到一个委托当中。 using System; using System.Collection 阅读全文
posted @ 2020-07-23 09:59 IWing 阅读(1121) 评论(3) 推荐(1) 编辑
摘要:网关部署 1、在网关服务器上,安装.net 5.0运行环境; 2、到 https://www.cnblogs.com/IWings/p/13354541.html 下载Gateway.zip,解压到网关服务器 3、打开appsettings.json配置文件,修改里面的配置,我的配置如下所示: { 阅读全文
posted @ 2020-07-23 09:56 IWing 阅读(2076) 评论(0) 推荐(5) 编辑
摘要:微服务架构中,事务的统一性是一个重要的问题。程序员需要简洁有效地控制事务。JMSFramework 的诞生旨在提供更简单、更有效的事务控制方案。 先看一段客户端调用微服务的代码: using (var rc = new RemoteClient()) { //启动分布式事务 rc.BeginTran 阅读全文
posted @ 2020-07-23 09:54 IWing 阅读(7460) 评论(28) 推荐(37) 编辑
摘要:网关程序(Gateway) https://cccscls-my.sharepoint.com/:f:/g/personal/jack_mutc_ca/Et7VbP7sX31EiN-NQkPL0RgBL5RBG15_PyepR5Tx0PaqsQ?e=BTngox Docker镜像: 网关:docke 阅读全文
posted @ 2020-07-21 13:39 IWing 阅读(1135) 评论(0) 推荐(1) 编辑