前言 在开发中经常会用到一些敏感数据,比如AppSecret或数据库连接字符串,无论是硬编码还是写在配置文件中,最终都要push到svn或git上.对于开源项目,这些敏感数据就无隐私可言了,对于私有项目,一旦源代码管理服务器被黑,这些敏感数据也将暴露无遗.所以,最佳实践就是不要将敏感数据写到源代码中. 以往我们常常将数据库连接字符串写在web.config中,.NET Core中写在appsettings.json中,开发环境下如果一个开发者修改了连接字符串,为了不影响其他开发者,每次提交代码的…
有时候我们在.NET Core程序中需要获取和设置操作系统环境变量的值.本文演示如何使用Environment.GetEnvironmentVariable和Environment.SetEnvironmentVariable方法,来获取和设置操作系统环境变量的值. 首先我们使用Windows命令行cmd,在Windows系统中创建一个环境变量myEnvironmentValue,注意要以管理员身份运行cmd(Run as administrator),cmd命令如下: setx myEnvir…
我之前在博文中介绍过Asp.net core下系统自带的依赖注入框架,这个依赖框架在Microsoft.Extensions.DependencyInjection中实现,本身并不是.net core的一部分(是asp.net core的一部分),本文这里就简单的介绍下载.net core控制台程序中使用这个框架,顺便也了解下这个框架的全貌. 首先我们需要安装Microsoft.Extensions.DependencyInjection这个Nuget包,也可以直接使用Microsoft.Asp…
最近用NoSQL较多写,用传统的EF到不多,但在一些.net core小程序中也小试牛刀过,不过当时用的是微软为.net core量身定制的Entity Framework Core,只是一些比较常规的增删改查,没有怎么深入使用,感觉差别不大.虽然知道EF Core是重新设计的,但觉得EF Core和EF在轻度使用上差别不大. 这两天打算计划重构一个老项目,想将其迁移到.net core上去.简单的试了一下,大部分的功能移植比较顺利,但却发现EF迁移到EF Core不是那么容易的事情,模型的关系…
以前我们想设置全局异常处理只需要这样的代码: AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyExceptionHandler); 但是在.NET Core中并没有AppDomain的相关实现,至少在.NET Core最新的发布版本里没有. 以前我和网友@SillyPGM的讨论,然后我们查看了部分C…
分布式应用程序很复杂,给开发人员调试和修复生产问题带来了一系列挑战.尽管微服务架构可帮助维持一支规模较小,可以自主工作并专注于独立业务团队,但由于其分布式性质,它带来了新的挑战.例如,在业务交易过程中出现问题的情况下,需要端到端跟踪请求,该请求可能跨越多个服务和基础架构. 解决问题时可能遇到的挑战有: 管理已知和未知故障 故障也是分布式的 传统监控系统不适用 这是可监测性和可观察性出现的地方.可监测性记录应用程序的总体运行状况,而可观察性则可以帮助您更深入地了解上下文数据.在.NET大会上,我和…
一.前言 在实际项目开发过程中,我们使用到的各种 ORM 组件都可以很便捷的将我们获取到的数据绑定到对应的 List<T> 集合中,因为我们最终想要在页面上展示的数据与数据库实体类之间可能存在很大的差异,所以这里更常见的方法是去创建一些对应于页面数据展示的 `视图模型` 类,通过对获取到的数据进行二次加工,从而满足实际页面显示的需要. 因此,如何更便捷的去实现 数据库持久化对象 与 视图对象 间的实体映射,避免我们在代码中去一次次的手工实现这一过程,就可以降低开发的工作量,而 AutoMapp…
当我们编写windows程序的时候,很多时候需要程序默认以管理员权限运行,以前在.net 程序中直接新建一个app.manifest,设置requestedExecutionLevel 节点即可 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 今天用.net core程序写了一个注册表的程序时发现,在.net core程序中按照上面设置却是不生效的,网上一…
一.创建项目 本篇文章介绍如何将一个ASP.NET Core Web程序部署到Windows系统上.这里以ASP.NET Core WebApi为例进行讲解.首先创建一个ASP.NET Core WebApi项目,使用默认的Values控制器,这里使用Visual Studio 2019创建一个ASP.NET Core 3.1d的WebApi项目. 创建新项目的时候选项ASP.NET Core Web应用程序,如下图所示: 配置新项目界面界面设置项目名称和位置,如下图所示: 选择.Net Cor…
1.安装需要的SDK包,如果程序包含3.1版本,需要安装3.1的SDK. sudo dnf install dotnet-sdk-5.0dotnet --versiondotnet --list-runtimes 2.net core程序中带有图片验证码需要事先安装GDI的图形库 https://www.mono-project.com/download/stable/#download-lin-centos yum install libgdiplus 1.Add the Mono repos…