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