Expose

.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 " ,

Spring 如何在一个事务中开启另一个事务?

好久不见. 提交于 2020-08-16 04:30:20
这样的情景可能不常见,但是还是会有的,一旦遇到,如果业务比较复杂,就会很麻烦,但是还是有解决的方案的,比如将一个service方法拆成两个方法,也就是将两个操作的事务分开。 但是这只适用与业务比较简单的,如果出现多次数据库的写操作,而我们调用的系统只需要其中一个写操作的最新数据,如果我们将它分开,那么如果调用目标系统出现异常的时候,那么之前的写操作就不能回滚了。 举个简单的例子: 南昌代孕【网址:bztss.com】 @Service public class ServiceA { @Transactional public void doSomething(){ 向数据库中添加数据; 调用其他系统; } } 这里就用伪代码来做示例了,当我们执行了“向数据库中添加数据”,我们去数据库中查询,发现并没有我们添加的数据,但是当我们的service这个方法执行完成之后,数据库中就有这条数据了,这是由于数据库的隔离性造成的。 Spring中的事务注解 @transactional 提供了一个参数: 代孕公司【网址:bztss.com】 Propagation propagation() default Propagation.REQUIRED; 这个参数是定义 Spring事务的传递性的,默认值为:required,也就是如果有事务,就加入事务,如果没有,就创建事务。 这个参数的值有很多

基于DockerFile制作镜像

前提是你 提交于 2020-08-15 03:06:05
DockerFile基本使用初体验(centos7 ) [root @localhost ~]# mkdir -p /opt/dockerfile [root @localhost ~]# cd /opt/dockerfile/ [root @localhost ~]# mkdir -p /opt/dockerfile/centos7_sshd dockerfile基础案例: FROM centos:6.9 RUN mv /etc/yum.repos.d/* /tmp EXPOSE=22 CMD [“/usr/sbin/sshd”,"-D"] 解释: FROM 基础镜像 语法: 1.centos:6.9 2.centos@镜像哈希值 RUN 构建镜像过程中运行的命令 语法: 1.RUN cmd1&&cmd2 RUN mv /etc/yum.repos.d/* /tmp && mv /etc/yum.repos.d/* /tmp 2.RUN ["cmd","opt1","opt2"] RUN ["mysqld", "--initialize-insecure", "--user=mysql", "--basedir=/usr/local/mysql", "--datadir=/data/mysql/data"] EXPOSE :向外暴露端口 EXPOSE 22 EXPOSE 80

URP学习之七--RenderFeature

亡梦爱人 提交于 2020-08-14 20:52:08
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

URP学习之七--RenderFeature

ⅰ亾dé卋堺 提交于 2020-08-14 04:15:46
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

Spring AOP学习笔记05:AOP失效的罪因

廉价感情. 提交于 2020-08-14 03:13:17
  前面的文章中我们介绍了Spring AOP的简单使用,并从源码的角度学习了其底层的实现原理,有了这些基础之后,本文来讨论一下Spring AOP失效的问题,这个问题可能我们在平时工作中或多或少也会碰到。这个话题应该从同一个对象内的嵌套方法调用拦截失效说起。 1. 问题的现象   假设我们有如下对象类定义(同一对象内方法嵌套调用的目标对象示例): public class NestableInvocationDemo { public void method1(){ method2(); System. out .println( " method1 executed! " ); } public void method2(){ System. out .println( " method2 executed! " ); } }   这个类定义中需要我们关注的是它的某个方法会调用同一对象上定义的其他方法。这通常是比较常见的,在NestableInvocationDemo类中,method1()方法调用了同一个对象的method2()方法。   现在,我们要使用Spring AOP拦截该类定义的method1()和method2()方法,比如一个简单的性能检测,我们定义一个Aspect: @Aspect public class PerformanceTraceAspect {

docker入门及常用命令

僤鯓⒐⒋嵵緔 提交于 2020-08-14 02:49:01
Dokcer 一、contos Docker 安装 (关闭 firewalld 及selinux) 1、卸载旧版本 # sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 2、更新docker yum 源 不更新源,会默认安装老旧版docker # sudo yum install -y yum-utils # sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 3、安装docker 需要安装三个软件 docker-ce docker-ce-cli containerd.io # sudo yum install docker-ce docker-ce-cli containerd.io 安装特定版本方式 :请在存储库中列出可用版本,然后选择并安装: 一个。列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序,并被截断: # yum list docker-ce -

URP学习之七--RenderFeature

醉酒当歌 提交于 2020-08-13 19:16:05
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

URP学习之七--RenderFeature

旧城冷巷雨未停 提交于 2020-08-13 16:30:29
Unity的URP给了我们扩展渲染Pass的接口--RenderFeature,我们之前在讲URP-ForwardRenderer的时候提到过RenderFeature,这个东西是可以用来扩展Pass的。RenderFeature是依附于ForwardRenderer的,如下图所示: 现在我们会看到RendererFeatures的列表是空的,我们来添加一个,点击加号,我们会发现只有一个RenderObjects可以选择,我们可以先用这个RenderObjects的RenderFeature来熟悉一下一个Feature是怎么执行的。添加后点击添加的条目,会有以下参数: 我们首先看这个Feature怎么用:创建一个Unlit材质,将Pass的Name修改为"TestPass",然后将ShaderPasses中的PassName设置为“TestPass“,如下图: 这样,我们就能正确的通过其他Pass来渲染这个物体了,这个Pass通过我们自己在Shader中的自定义可以实现各种效果,比如我们实现一个多Pass描边,继续刚才我们的例子,因为我们将原来的PassName改为了Feature的PassName(”TestPass“),所以URP就不会调用UniversalForwardPass了。如果我们把UniversalForwardPass加回来

详解浏览器跨域的几种方法

余生长醉 提交于 2020-08-13 01:04:30
摘要: 本文针对浏览器的跨域特性,做一下深入介绍,以便我们在进行WEB前端开发和测试时,对浏览器跨域特性有全面的理解和掌握。 1 前言 在 WEB 前端开发中,我们经常会碰到“跨域”问题,最常见的就是浏览器在 A 域名页面发送 B 域名的请求时会被限制。跨域问题涉及到 WEB 网页安全性问题,使用不当会造成用户隐私泄露风险,但有时业务上又需要进行跨域请求。如何正确的使用跨域功能,既能满足业务需求,又能够满足安全性要求,显得尤为重要。 本文针对浏览器的跨域特性,做一下深入介绍,以便我们在进行 WEB 前端开发和测试时,对浏览器跨域特性有全面的理解和掌握。 2 背景知识介绍 2.1 同源政策 1995 年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。 最初,它的含义是指, A 网页设置的 Cookie , B 网页不能打开,除非这两个网页 “ 同源 ” 。所谓 “ 同源 ” 指的是 “ 三个相同 ” : 协议相同 域名相同 端口相同 同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。 设想这样一种情况: A 网站是一家银行,用户登录以后, A 网站在用户的机器上设置了一个 Cookie ,包含了一些隐私信息(比如存款总额)。用户离开 A 网站以后,又去访问 B 网站,如果没有同源限制, B 网站可以读取 A 网站的 Cookie