.Net Framework

如何在 Blazor WebAssembly中 使用 功能开关

邮差的信 提交于 2021-01-27 22:39:57
微软Azure 团队开发的 功能管理 (Feature Management) 包 Microsoft.FeatureManagement可用于实现 功能开关,可以通过 功能开关 特性动态的改变应用程序的行为而不需要改变任何的业务逻辑代码。关于功能开关的更多功能请看Edi Wang的B站视频,长按小程序码进入观看 这篇文章的重点是介绍如何在Blazor WebAssembly项目中实现功能开关。 通过 NuGet 安装 Microsoft.FeatureManagement ,可通过 Visual Studio 2019 下的 NuGet Package Manager 可视化管理界面 或者 通过 .NET CLI 命令行工具输入如下命令。 dotnet add package Microsoft.FeatureManagement 为了能够在项目中用上 功能管理 ,需要在 ConfigureServices 方法下进行 service 注入,如下代码所示: 有一点要注意: 功能管理 中的 功能开关 读取的值来自于配置文件,如果你想让 功能开关 的值来源于 Configuration 文件的不同节点,必须在 service 注册时单独指定一下。 为了能够在 Blazor Wassembly中用上 功能管理(feature management) ,需要通过依赖注入的方式将其注入到

.NET5实战千万并发,性能碾压各版本,云原生时代,.NET5为王!

两盒软妹~` 提交于 2021-01-27 09:57:33
在移动互联网时代掉队的.NET,当下正凭借着.NET5的开源跨平台以及容器友好,在云原生时代正在重铸辉煌。而作为.NET开发者,新年跳槽季的高并发问题会更多了,因为高并发能牵扯出太多问题,接口响应超时、CPU负载升高、GC频繁、死锁、大数据量存储等,最能考察求职者的真实情况。千万并发级的.NET5项目,是怎样炼成的? 理解高并发 公认的高并发场景:双11、春运抢票、微博大V热点新闻、秒杀系统、日均千万级订单系统、亿级日活信息流,然而这些高并发场景,并发量各不相同,那到底多大并发才算高并发呢? 而很多人在这里就倒下了,因为对数据化的指标没有概念:不清楚选择什么样的指标来衡量高并发系统?分不清并发量和QPS,甚至不知道自己系统的总用户量、活跃用户量,平峰和高峰时的QPS和TPS等关键数据,谈优化只是隔靴搔痒。 高并发的目标 高并发就是高性能?其实不然, 高并发系统设计的目标有三个:高性能、高可用,以及高可扩展。 高性能 性能体现了系统的并行处理能力,在有限的硬件投入下,提高性能意味着节省成本。优化用户的体验,响应时间分别是100毫秒、1秒、3秒,给用户的感受是完全不同的。 高可用 表示系统可以正常服务的时间。对于高并发系统,最基本的要求能做到3个9以上,像一些大公司每年动辄千亿以上的GMV,1%(2个9)不可服务就是10亿级别的业务影响。 高扩展 表示系统的扩展能力

报表生成器FastReport .Net报表页面管理介绍

本秂侑毒 提交于 2021-01-27 08:17:36
FastReport .Net是适用于Windows Forms,ASP.NET,MVC和.NET Core的全功能 报表请添加链接描述 解决方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。 在FastReport .NET 2021.1的新版本中,我们实现了对.NET 5的支持。添加了新条形码-Deutsce Post Leitcode。将RTF转换为报告对象的算法已得到显着改进。并且还添加了用于转换数字的新功能。欢迎下载体验。(点击下方按钮下载) 立即点击下载FastReport.NET v2021.1最新版请添加链接描述 报告页面 模板由一个(大部分)或几个报告页组成。报告页,反过来,包含波段。报告对象,如文本,图片和其他被放置在band上: 报表模板可以包含多个页面。例如,您可以创建一个包含标题页和一个包含数据页的模板。创建这样的报告时,首先打印第一页,然后打印第二页,以此类推。模板的每一页都可以生成一页或几页准备好的报告-这取决于它包含的数据: 在处理子报表时也会使用报表页。与其他报表生成器相反,fastport中的子报表保存在单独的模板页中,而不是单独的文件中。 除了报表页面之外,模板还可以包含一个或多个对话表单。在创建报表之前

js跳转页面与打开新窗口的方法

孤街醉人 提交于 2021-01-27 04:00:37
1.超链接<a href="http://www.jb51.net" title="脚本之家">Welcome</a> 等效于js代码 window.location.href="http://www.jb51.net"; //在同当前窗口中打开窗口 2.超链接<a href="http://www.jb51.net" title="脚本之家" target="_blank">Welcome</a> 等效于js代码 window.open("http://www.jb51.net"); //在另外新建窗口中打开窗口 //详细介绍 第一种: <script language=" JavaScript " type="text/ javascript "> window.location.href="http://www.dollare.com.cn/login. PHP ?backurl="+window.location.href; </script> 第二种: <script language="javascript"> alert("返回"); window.history.back(-1); </script> 第三种: <script language="javascript"> window.navigate("dollare. php "); </script> 第四种

java.lang.ClassNotFoundException: org.apache.commons.codec.DecoderException 异常

感情迁移 提交于 2021-01-27 03:09:04
遇到的异常: java.lang.ClassNotFoundException: org.apache.commons.codec.DecoderException at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at org.apache.commons.httpclient.HttpMethodBase.<init>(Unknown Source) at org.apache.commons.httpclient.methods.ExpectContinueMethod.<init>(Unknown Source)

给产品经理的9千字总结:系统间数据传输关注这些就够了:接口、otter、log4j、SFTP、MQ……

混江龙づ霸主 提交于 2021-01-26 11:41:33
世界最遥远的距离,是我站在你对面,你却在另一台服务器里。 世界最温暖的举例,是我在internet的另一端,而你挑着一筐刚刨出来的数据来看我。 ——做产品的柏拉图 一个系统装再多数据,不与其他系统交互,那也是孤岛系统,孤独没女朋友。 一个系统若很外向,不断撩拨周围的系统,也乐意被撩拨,成为了众系统中的“交际花”,那么这货甚至就是中台的性质。 而更多的系统是介于上述两种极端之间的。像人一样,自己搞生产,也要参与社交——就是系统之间的数据对接。 对接的本质是为了实现数据信息的传输。 在后端产品的世界里,各子系统之间,或与外部系统之间的对接非常常见。 作为产品经理,不仅要知道数据从哪来,还要理清楚获取数据之后的握手方式、运算逻辑、异常规则、容错机制、数据日志等 等。 本文尝试聊聊如下话题: 数据传输的场景和意义 数据传输的方式 数据传输的处理机制 数据传输的注意事项 说明,因为编辑器的问题 一度缺少图片,若需看原文可以点击这里: ******系统间数据传输,产品经理视角的9千字总结:接口、otter、log4j、SFTP、MQ…… ****** 一、 数据传输的场景和意义 1、数据传输的应用场景 1)前端和后端本身无时不刻的数据互动。 2)公司的各个系统之间的信息共享。 比如,式系统部署之后,就需要各个系统模块之间进行数据的配合,比如订单系统的库存扣减数据要同步给备货系统进行采购。 3

C# 编码规范

怎甘沉沦 提交于 2021-01-26 11:10:40
对于编程中非代码文件(例如xml 等),我们目前的最佳指南是代码风格的一致性。编辑代码文件时,需要保持新增/更改的代码与原文件中的代码风格一致性。对于新建的代码文件,它也应符合本编码规范。好的编码规范,有利于提升代码的可读性。.NET Core 框架项目使用的是 Visual Studio 默认编码规范。 通常,我们编码时,应遵循 Visual Studio 默认编码规范中的以下规则: 1、接口名、类名、方法名、参数名和变量名 所有的接口名、类名和方法名都应该使用 PascalCasing 风格来定义,对于接口参数、构造函数参数和方法参数,其参数名则使用 camelCase 风格。对于方法体内的局部变量,则使用 camelCase 风格。 2、花括号 使用 Allman 样式的花括号,每个花括号在新的一行开始,而且花括号不进行缩进,花括号里面的代码缩进。 while (x == y) { something(); somethingelse(); } 对于单行语句块,可以不带花括号,但需要把它放在同一行 if (xx == null ) xx = new Foo(); 一个例外是,允许 using 语句嵌套在另一个 using 语句中,从同一缩进级别的下一行开始,即使嵌套的 using 包含受控块也是如此。 3、空格 使用 4 个空格作为一个缩进,而不是使用 tab。 4、字段

你有把依赖注入玩坏?

空扰寡人 提交于 2021-01-25 17:25:53
【导读】 自从.NET Core给我们呈现了依赖注入,在我们项目中到处充满着依赖注入,虽然一切都已帮我们封装好,但站在巨人的肩膀上,除了凭眺远方,我们也应平铺好脚下的路 使用依赖注入不仅仅只是解耦,而且使代码更具维护性,同时我们也可轻而易举查看依赖关系,单元测试也可轻松完成,本文我们来聊聊依赖注入,文中示例版本皆为5.0。 浅谈依赖注入 在话题开始前,我们有必要再提一下三种服务注入生命周期, 由浅及深再进行讲解,基础内容,我这里不再多述废话 Transient(瞬时):每次对瞬时的检索都会创建一个新的实例。 Singleton(单例):仅被实例化一次。此类型请求,总是返回相同的实例。 Scope(范围):使用范围内的注册。将在请求类型的每个范围内创建一个实例。 如果已用过.NET Core一段时间,若对上述三种生命周期管理的概念没有更深刻的理解,我想有必要基础回炉重塑下。为什么?至少我们应该得出两个基本结论 其一:生命周期由短到长排序,瞬时最短、范围次之、单例最长 只要做过Web项目,关于第一点就很好理解,首先我们只对瞬时和范围作一个基本的概述,关于单例通过实际例子来阐述,我们理解会更深刻 若为瞬时:那么我们每次从容器中获取的服务将是不同的实例,所以名为瞬时或短暂 若为范围:在ASP.NET Core中,针对每个HTTP请求都会创建DI范围,当在HTTP请求中(在中间件,控制器

It was not possible to find any compatible framework version The framework &apos;Microsoft.NETCore.App&apos;

橙三吉。 提交于 2021-01-25 16:54:04
问题: It was not possible to find any compatible framework version The framework 'Microsoft.NETCore.App', version '3.1.10' was not found. 原因: Microsoft.AspNetCore.App缺失/没有合适版本 解决办法: https://dotnet.microsoft.com/download/dotnet-core?utm_source=getdotnetcorecli&utm_medium=referral 找到相应的版本,我的是netcore3.1,因此我用的是 https://dotnet.microsoft.com/download/dotnet-core/3.1 下载相应版本安装即可~ 来源: oschina 链接: https://my.oschina.net/berzhuan/blog/4923157

Azure Functions 的优势与挑战

纵然是瞬间 提交于 2021-01-25 13:15:17
本文来源: ServerlessLife 公众号 原文: https://talkingserverless.com/2020/11/24/the-pros-and-cons-of-azure-functions/ 作者:rishidot 译者:donghui Azure Functions 在开发人员中越来越受欢迎,这些开发人员主要是 .NET 开发人员。Microsoft提供了许多不同的应用程序部署平台,包括容器、PaaS、WebApps、Azure Functions、Azure Logic Apps 等。借助如此多样化的产品组合,Microsoft 将 Azure Functions 定位为企业级的 Serverless 产品。该文章将重点介绍 Microsoft 的 Serverless 平台如何满足开发人员的需求。 与 AWS Lambda 不同,Microsoft 的 Serverless 产品在开发人员中的采用速度较慢,但该平台得到了熟悉 Microsoft 开发工具链的 .NET 开发人员的大力支持。Azure Functions 是一个支持 .NET、Java、Node.js 和 Python 的多语言平台。它与 Github、Visual Studio 和 Visual Studio Code 以及其 DevOps 产品 Azure Pipelines