随笔分类 -  .Net Core

摘要:nuget引入: EPPlus.Core FileInfo file = new FileInfo(@"d:\test.xlsx"); using (ExcelPackage package = new ExcelPackage(file)) { // add a new worksheet to 阅读全文
posted @ 2021-04-13 10:31 IWing 阅读(375) 评论(0) 推荐(0)
摘要:Nuget引用 Quartz using Quartz; using Quartz.Impl; using System; using System.Threading; using System.Threading.Tasks; namespace ConsoleApp3 { class Prog 阅读全文
posted @ 2020-12-29 10:33 IWing 阅读(80) 评论(0) 推荐(0)
摘要:/// <summary> /// WM_COPYDATA消息,进程间传输信息专用结构 /// </summary> public struct COPYDATASTRUCT { public UINT64 dwData; public int cbData; public IntPtr lpDat 阅读全文
posted @ 2020-12-25 15:01 IWing 阅读(257) 评论(0) 推荐(0)
摘要:[DllImport("User32.dll")] public static extern int SendMessage(IntPtr hwnd, int msg, int wParam, ref COPYDATASTRUCT lParam); public const int WM_COPYD 阅读全文
posted @ 2020-12-25 12:56 IWing 阅读(1059) 评论(0) 推荐(0)
摘要:/// <summary> /// ignore some api on swagger.json /// </summary> [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] pu 阅读全文
posted @ 2020-12-21 17:45 IWing 阅读(2958) 评论(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 阅读(2895) 评论(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 阅读(233) 评论(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 阅读(196) 评论(0) 推荐(0)
摘要:services.AddControllers().AddJsonOptions(c => { c.JsonSerializerOptions.PropertyNamingPolicy = new NormalPolicy(); }); public class NormalPolicy : Jso 阅读全文
posted @ 2020-08-19 11:05 IWing 阅读(712) 评论(0) 推荐(0)
摘要:public override void OnActionExecuted(ActionExecutedContext context) { if (context.Exception != null && context.ExceptionHandled == false) { context.E 阅读全文
posted @ 2020-08-18 12:33 IWing 阅读(667) 评论(0) 推荐(0)
摘要:.net core 3.0后,获取IServiceProvider需要绕点弯路 首先,新建一个类: public class MyServiceProviderFactory : IServiceProviderFactory<IServiceProvider> { public IServiceP 阅读全文
posted @ 2020-08-14 20:38 IWing 阅读(2940) 评论(0) 推荐(1)
摘要:依赖注入 var connectionConfiguration = new ConnectionConfiguration { Hosts = new List<HostConfiguration> { new HostConfiguration { Host = hostName, Port = 阅读全文
posted @ 2020-08-13 11:45 IWing 阅读(829) 评论(0) 推荐(0)
摘要:nuget 引入: Serilog.Extensions.LoggingSerilog.Settings.ConfigurationSerilog.Sinks.ConsoleSerilog.Sinks.File 初始化代码: var log = new LoggerConfiguration() . 阅读全文
posted @ 2020-08-11 12:04 IWing 阅读(319) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-08-07 09:21 IWing 阅读(219) 评论(0) 推荐(0)
摘要:JMS所有服务器程序,包括Gateway、GatewayReferee、Proxy、TokenServer、以及编写的微服务器,都支持使用第三方工具进行健康检查。 使用telnet 进行健康检查 向任意服务器,发送 FFFF 字符串,服务器会返回 ok。 (echo 'FFFF'; sleep 2) 阅读全文
posted @ 2020-07-31 15:51 IWing 阅读(354) 评论(0) 推荐(0)
摘要:默认情况下,如果在linux,需要关闭微服务进程,请务必使用 kill -15 进程id 命令,其他命令可能会直接关闭进程,造成数据丢失。 例如,有个后台任务,执行了一半,这时候进程突然关闭了,会形成一些无法预计的后果。 Kill -15 命令的安全性 默认情况下,当发出kill -15命令,JMS 阅读全文
posted @ 2020-07-31 15:20 IWing 阅读(391) 评论(0) 推荐(0)
摘要:用户token,也可以利用第三方框架生成,JMS也包含了自己的token服务器。 部署TokenServer 到这里下载 tokenserver.zip,然后部署运行TokenServer。 微服务中编写Login函数 引用 JMS.Token nuget包 代码如下: public class M 阅读全文
posted @ 2020-07-23 10:10 IWing 阅读(957) 评论(0) 推荐(0)
摘要:通常,多个相同的微服务器,它们的appsettings.json配置文件的内容都是一样的,如果,每次修改配置文件,都要逐个替换,那就太繁琐了,我们可以利用网关的文件共享功能,实现配置文件的统一更新。 网关打开文件共享 首先,在网关程序的当前目录下,新建一个文件夹shares 然后编辑网关的appse 阅读全文
posted @ 2020-07-23 10:08 IWing 阅读(685) 评论(0) 推荐(0)
摘要:分布式锁 在Controller当中,提供了分布式锁的功能,代码如下: class HelloworldController : MicroServiceControllerBase { static List<string> Users = new List<string>(); ILogger< 阅读全文
posted @ 2020-07-23 10:06 IWing 阅读(810) 评论(0) 推荐(3)
摘要:在上一篇,我们写了简单的Hello world微服务,现在,我们往这个微服务当中,加入一个支持分布式事务的函数,因为不想写太长的代码,我就不用数据库做演示了,只是简单给大家演示一下,怎么把事务的提交、回滚,放到一个委托当中。 using System; using System.Collection 阅读全文
posted @ 2020-07-23 09:59 IWing 阅读(1151) 评论(3) 推荐(1)