.Net Framework

从jvm源码看synchronized

情到浓时终转凉″ 提交于 2020-08-17 03:47:45
synchronized的使用 synchronized关键字是Java中解决并发问题的一种常用方法,也是最简单的一种方法,其作用有三个:(1)互斥性:确保线程互斥的访问同步代码(2)可见性:保证共享变量的修改能够及时可见(3)有序性:有效解决重排序问题,其用法也有三个: 修饰实例方法 修饰静态方法 修饰代码块 修饰实例方法 public class Thread1 implements Runnable{ //共享资源(临界资源) static int i=0; //如果没有synchronized关键字,输出小于20000 public synchronized void increase(){ i++; } public void run() { for(int j=0;j<10000;j++){ increase(); } } public static void main(String[] args) throws InterruptedException { Thread1 t=new Thread1(); Thread t1=new Thread(t); Thread t2=new Thread(t); t1.start(); t2.start(); t1.join();//主线程等待t1执行完毕 t2.join();//主线程等待t2执行完毕 System.out

第十一节:Ocelot集成IDS4认证授权-微服务主体架构完成

一曲冷凌霜 提交于 2020-08-17 03:42:44
一. 前言 1.业务背景   我们前面尝试了在业务服务器上加IDS4校验,实际上是不合理的, 在生产环境中,业务服务器会有很多个,如果把校验加在每个业务服务器上,代码冗余且不易维护(很多情况下业务服务器不直接对外开放), 所以我们通常把校验加在Ocelot网关上,也就是说校验通过了,Ocelot网关才会把请求转发给相应的业务服务器上.(我们这里通常是网关和业务服务器在一个内网中,业务服务器不开放外网) (和前面:Jwt配合中间件校验流程上是一样的,只不过这里的认证和授权都基于IDS4来做) PS:关于IDS4服务器,可以配置在网关后面,通过网关转发;    也可以不经网关转发,单独存在, 这里要说明的是,如果经过网关转发,那么对于IDS4而言,只是单纯的转发,不走Ocelot上的校验,其实也很简单,就是 不配置AuthenticationProviderKey即可. 2.用到的项目 (1).Case2下的GateWay_Server :网关服务器 (2).Case2下的ID4_Server:认证+授权服务器 (3).GoodsService + OrderService:二者都是资源服务器 (4).PostMan:充当客户端(即第三方应用) (5).MyClient2:用控制台充当客户端(即第三方应用) (6).Consul:网关Ocelot已经集成Consul服务发现了

【NIO】解读 java.nio.channels.Channel

我怕爱的太早我们不能终老 提交于 2020-08-17 03:38:07
目录 Part 1. Define Part 2. Implementation 1. Channel 2. FileChannel 3. ServerSocketChannel 4. SocketChannel 5. ServerSocket Part 3. Demo 1. FileChannel 2. ServerSocketChannel Part 1. Define Difference between NIO's Channel and Stream: 1 NIO Channel can both read and write from / to channel, but the read and write of the stream is usually one-way. 2 Channels can be read and written asynchronously. 3 The data in the channel must always be read to a Buffer first, or always written from a Buffer. A channel represents an open connection to an entity such as a hardware device, a file, a network

.Net Core 2.2升级3.1的避坑指南

筅森魡賤 提交于 2020-08-17 03:30:38
写在前面   微软在更新.Net Core版本的时候,动作往往很大,使得每次更新版本的时候都得小心翼翼,坑实在是太多。往往是悄咪咪的移除了某项功能或者组件,或者不在支持XX方法,这就很花时间去找回需要的东西了,下面是个人在迁移.Net Core WebApi项目过程中遇到的问题汇总: 开始迁移 1. 修改*.csproj项目文件 <TargetFramework>netcoreapp2. 2 </TargetFramework> 修改为 <TargetFramework>netcoreapp3.1</TargetFramework> 2 修改Program public static void Main( string [] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder( string [] args) => WebHost.CreateDefaultBuilder(args) .UseStartup <Startup>().ConfigureAppConfiguration((hostingContext, config) => { config.AddJsonFile($ " 你的json文件.json " ,

串行通讯之.NET SerialPort

岁酱吖の 提交于 2020-08-17 02:53:52
第 1 章 串行通讯之 .NET SerialPort 2 1 枚举串口 2 2 打开 / 关闭串口 2 3 写数据 3 3.1 写二进制数据 3 3.2 写文本数据 4 4 读数据 5 4.1 读二进制数据 6 4.2 读一个字节 7 4.3 读一个字符 7 4.4 读全部文本 7 4.5 读文本到某个字符串 8 4.6 读一行文本 8 4.7 DataReceived 事件 8 5 流控制 9 5.1 软件流控制( XON/XOFF ) 10 5.2 硬件流控制( RTS/CTS ) 10 6 输入信号 11 第 1 章 串行通讯之 .NET SerialPort .NET 库中类 System.IO.Ports.SerialPort 用于串行通讯,本文对其使用进行简要说明。 1 枚举串口 函数 System.IO.Ports.SerialPort.GetPortNames 将获得系统所有的串口名称。 C# 代码如下: string[] arrPort = System.IO.Ports.SerialPort.GetPortNames(); foreach (string s in arrPort) { } 2 打开 / 关闭串口 下面的 C# 代码将打开 COM100:1200,N,8,1 System.IO.Ports.SerialPort m_sp = new

微软:正式发布针对 .NET Core的 Winform 设计器

。_饼干妹妹 提交于 2020-08-17 02:42:41
作为微软最引以为傲的IDE编辑器,Visual Studio已经让无数专注于 .NET 平台的开发者被其强大的设计能力和所见即所得的效果所震撼。 而 .NET Core,作为微软推出的第一个跨平台 (Mac OSX、Linux) 应用程序开发框架,同样被寄予了无限厚望。 如今,微软正式将二者结合,在Visual Studio 2019 16.6版中,针对 .NET Core 平台推出 Winform 设计器。 Visual Studio针对 .NET Core 平台推出 Winform 设计器 设计器使用步骤: · 安装 Visual Studio 2019 version 16.6 或 Visual Studio 2019 version 16.7 Preview 1 · 要在 Visual Studio 中启用设计器,请转到“ 工具” >“ 选项” >“ 环境” >“ 预览功能”, 然后选择“ 将 Windows Forms 预览设计器用于 .NET Core 应用程序” 选项。 完成上述步骤后,双击“解决方案资源管理器”窗体,设计器将自动以 .NET Framework应用程序相同的方式打开。 注意:新的Windows窗体设计器仅在Windows 10上生效。 设计器中可用的功能: · 支持所有 Windows 窗体控件(除了即将推出的 DataGridView 和

.NET和.NET Core Web APi FormData多文件上传对比

ⅰ亾dé卋堺 提交于 2020-08-17 02:04:34
前言 最近因维护.NET和.NET Core项目用到文件上传功能,虽说也做过,但是没做过什么对比,借此将二者利用Ajax通过FormData上传文件做一个总结,通过视图提交表单太简单,这里不做阐述,希望对有需要的童鞋能有力所能及的帮助。 .NET Web APi FormData文件上传 我们将参数和文件都通过FormData来上传,给出如下HTML代码 < div class ="form-horizontal" style ="margin-top:80px;" > < div class ="form-group" > < label class ="control-label col-md-2" for ="caption" > 标题 </ label > < div class ="col-md-10" > < input name ="title" id ="title" type ="text" /> </ div > </ div > < div class ="form-group" > < label class ="control-label col-md-2" for ="caption" > 文件 </ label > < div class ="col-md-10" > < input name ="file" id ="file" multiple

【经验分享】AD FS部署前,不能不知的几点要求!

北慕城南 提交于 2020-08-17 00:08:04
之前我们为大家介绍AD FS,如果还没看过上一期讲解的看这里: 《AD FS是什么,用在什么场景,原理是什么?》 本期我们继续扩大为大家分享AD FS的企业部署,把部署前的各种要求进行讨论。以下是企业部署任务: 准备部署 Active Directory 联合身份验证服务 (AD FS),规划AD FS部署。 如果决定将 Microsoft SQL Server 用于 AD FS 配置存储,请确保部署 SQL Server 的功能实例。 将计算机加入 Active Directory 域。 为 AD FS 注册 (SSL) 证书的安全套接字层。 安装 AD FS 角色服务。 配置联合服务器。 可选步骤:使用设备注册服务配置联合服务器 (DRS)。 将一个主机 (A) 和别名 (CNAME) 资源记录添加到企业域名系统 (联合身份验证服务和 DRS 的 DNS)。 验证联合服务器是否正常运行。 证书要求 证书在保护联合服务器、Web 应用程序代理、声明-感知应用程序和 Web 客户端之间的通信方面发挥着最重要的作用。证书要求因你设置的是联合服务器还是代理计算机而异,具体取决于此部分中所述。 安全套接字层 (SSL) 证书 这是标准的 SSL 证书,用于保护联合服务器和客户端之间的通信。 此证书必须是公开信任的* X509 v3 证书。 访问任何 AD FS

.NET Core微服务开发网关篇-ocelot

烂漫一生 提交于 2020-08-17 00:07:33
通过上篇我们知道,网关是外部访问的统一入口,本文采用Ocelot作为Api网关。 环境要求: vs2019 .NetCore3.1 Ocelot16.0.1 创建一个产品服务Api站点(AAStore.ProductCatalog.Api) 添加一个ProductController [Route( " api/[controller] " )] [ApiController] public class ProductController : ControllerBase { [HttpGet(template: " Get " )] public string GetProductById() { return " Product service " ; } } 运行浏览 然后再创建一个订单服务Api站点(AAStore.Orde.Api) 添加一个OrderController [Route( " api/[controller] " )] [ApiController] public class OrderController : ControllerBase { [HttpGet(template: " Get " )] public string GetOrder() { return " Order Service " ; } } 运行浏览 两个服务已经已经准备好了

龙芯开源社区上线.NET主页

…衆ロ難τιáo~ 提交于 2020-08-17 00:04:20
龙芯团队从2019年7 月份开始着手.NET Core的MIPS64支持研发,经过将近一年的研发,在2020年6月18日完成了里程碑性的工作,在github CoreCLR 仓库: https://github.com/gsvm/coreclr , 随后受到.NET社区的很大参与热情鼓舞之下,2020年7月7日,龙芯团队在github发布了 corefx: https://github.com/gsvm/corefx 、core-setup : https://github.com/gsvm/core-setup 。 2020年7月9日,龙芯团队发布了 dotnet 运行时、aspnet core 运行时与 sdk 的 EA 版本,见 loongson-dotnet/releases 。同时在龙芯开源社区上线了.NET主页: http://www.loongnix.org/index.php/Dotnet 。据主页上的介绍龙芯版本 .NET 平台正在开发阶段,该平台基于 .NET Core ,初始版本为3.0,后续会升级至3.1。欢迎贡献 相关文章: 龙芯团队完成CoreCLR MIPS64移植,已在github开源 dotnet core 在 MIPS64 下的移值进度:EA 版本已经发布 来源: oschina 链接: https://my.oschina.net/u