最近两天在Linux中调试.NETCore应用程序,同时我发现在Linux中调试.NETCore应用程序并不容易。一直习惯在VisualStudio中进行编码和调试。现在我想的是可以简单快速的测试.NETCore应用在Linux。所以通过本篇文章我们能了解到如何在Windows中使用VisualStudio进行远程调试我们部署在Linux中的应用程序,从而我们可以去发现或者说去调试在中会产生的一些问题。Windows中的Linux:HelloWSL子系统从这里我不做过多的介绍了,大家...
继续阅读 >
分类:.net
2020
10-08
10-08
.Net Core如何对MongoDB执行多条件查询
以前项目基本上全部使用MySQL数据库,最近项目排期空出了一点时间leader决定把日志模块迁移到插入/查询性能更好的MongoDB上.多条件查询的写法着实费了些功夫,撰文记录一下.一、准备工作1.安装过程,不赘述了2.添加ReferencePackagedotnetaddpackagemongodb.bsondotnetaddpackagemongodb.driver3.appsetting.json添加连接配置"MongodbHost":{"Connection":"mongodb://[username]:[password]@[ip]:[port]","DataBas...
继续阅读 >
2020
10-08
10-08
使用vs2019加.net core 对WeiApi的创建过程详解
vs2019创建webapi1.创建新的项目2.选择.NETCORE的ASP.NETCOREWEB应用程序3.定义项目名称和存放地点4.选择API创建项目5.删除原本的无用的类6.添加新的方法类7.设置路由usingMicrosoft.AspNetCore.Components;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threading.Tasks;namespaceWEBAPI.Controllers{///<summary>///设置路由///</summary>[Route("api/[controller]/[action]"...
继续阅读 >
2020
10-08
10-08
如何使用.NET Core 选项模式【Options】
ASP.NETCore引入了Options模式,使用类来表示相关的设置组。简单的来说,就是用强类型的类来表达配置项,这带来了很多好处。利用了系统的依赖注入,并且还可以利用配置系统。它使我们可以采用依赖注入的方法直接使用绑定的一个POCO对象,这个POCO对象就叫做Options对象。也可以叫做配置对象。以下大多内容来自官方文档,我只是个翻译官或者叫搬运工吧!引入Options扩展包PM>Package-installMicrosoft.Extensions.Options绑定分层...
继续阅读 >
2020
10-08
10-08
如何使用.NET Core 选项模式【Options】
ASP.NETCore引入了Options模式,使用类来表示相关的设置组。简单的来说,就是用强类型的类来表达配置项,这带来了很多好处。利用了系统的依赖注入,并且还可以利用配置系统。它使我们可以采用依赖注入的方法直接使用绑定的一个POCO对象,这个POCO对象就叫做Options对象。也可以叫做配置对象。以下大多内容来自官方文档,我只是个翻译官或者叫搬运工吧!引入Options扩展包PM>Package-installMicrosoft.Extensions.Options绑定分层...
继续阅读 >
2020
10-08
10-08
.net core 静态类获取appsettings的方法
注入获取注入获取通过IConfiguration直接获取的方法官方文档里就有,可以直接看这里如:appsettings.json{"Position":{"Title":"编辑器","Name":"JoeSmith"},"MyKey":"Myappsettings.jsonValue","Logging":{"LogLevel":{"Default":"Information","Microsoft":"Warning","Lifetime":"Information"}},"AllowedHosts":"*"}可以用注入的IConfiguration,用冒号分隔的形式...
继续阅读 >
2020
10-08
10-08
.net EF Core专题:EF Core 读取数据时发生了什么?
原文:https://bit.ly/2UMiDLb作者:JonPSmith翻译:王亮声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的。其中可能会去除一些本人实在不知道如何组织但又不影响理解的句子。本文将为你详细描绘EFCore从数据库中读取数据的“幕后”视图。我将揭开两种数据库读取方式的面纱:一个是普通的查询,另一个是使用AsNoTracking方法的非跟踪查询。我还将通过一个实验来演示我是如何解决我的一个客户遇到的性能问...
继续阅读 >
2020
10-08
10-08
.Net 对于PDF生成以及各种转换的操作
前段时间公司的产品,要做一个新功能,签章(就是把需要的数据整理成PDF很标准的文件,然后在盖上我们在服务器上面的章)然后我就在百度上找了找,发现搞PDF的类库很少,要么就要钱,要么就有水印,破解版的没找到。先讲一讲我是怎么生成PDF的1、生成PDF这里用到了Spire.Pdf这个类库可以在NuGet里面搜索到,上面带个小红标的就是免费版本。当然也可以去他们的官网,上面还有文档(https://www.e-iceblue.cn/Introduce/...
继续阅读 >
2020
10-05
10-05
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
依赖倒置原则(DIP)依赖倒置(DependencyInversionPrinciple,缩写DIP)是面向对象六大基本原则之一。他是指一种特定的的解耦形式,使得高层次的模块不依赖低层次的模块的实现细节,依赖关系被颠倒(反转),从而使得低层次模块依赖于高层次模块的需求抽象.该原则规定:高层次的模块不应该依赖低层次模块,二者都应该依赖其抽象接口.抽象接口不应该依赖于具体实现,而具体实现则应该依赖于抽象接口.通过如下一个简单的示例,我们来看一...
继续阅读 >
2020
09-29
09-29
详解如何在C#/.NET Core中使用责任链模式
最近我有一个朋友在研究经典的“GangOfFour”设计模式。他经常来询问我在实际业务应用中使用了哪些设计模式。单例模式、工厂模式、中介者模式-都是我之前使用过,甚至写过相关文章的模式。但是有一种模式是我还没有写过文章,即责任链模式。什么是责任链?#责任链模式(之前我经常称之为命令链模式)是一种允许以使用分层方式”处理“对象的模式。在维基百科中的经典定义是在面向对象设计中,责任链模式是一种由命令对象源及其...
继续阅读 >
2020
09-29
09-29
.net core 3.1在iis上发布的踩坑记录
前言写这篇文章的目的是希望像我一样喜欢.net的人在发布core到iis上时少走点弯路网上找了些资料,其实实际操作比较简单,就是有几个坑很恶心踩坑记录首先是你的服务器需要有core的运行环境,安装前先关闭iisdotnet-hosting-3.1.4-win.exe可以去微软的官网找最新的版本(去微软的官网找你要的版本就好了)安装成功后,第一个坑出现了,启动iis,发现原来在iis上的网站都报503错误了。直接玩大了,最后发现就是这个东西搞的鬼,...
继续阅读 >
2020
09-29
09-29
关于.NET Attribute在数据校验中的应用教程
前言Attribute(特性)的概念不在此赘述了,相信有点.NET基础的开发人员都明白,用过Attribute的人也不在少数,毕竟很多框架都提供自定义的属性,类似于Newtonsoft.JSON中JsonProperty、JsonIgnore等自定义特性.NET框架允许创建自定义特性,用于存储声明性的信息,且可在运行时被检索。该信息根据设计标准和应用程序需要,可与任何目标元素相关。创建并使用自定义特性包含四个步骤:声明自定义特性构建自定义特性在目标程序...
继续阅读 >
当我们在使用VisualStudio2019非预览版本开发WindowsFormsApp(.NETCore)应用程序时是不能使用窗体设计器的。即使在窗体文件上右击选择“显示设计器”菜单,仍旧只能看到代码,无法打开窗体设计器。根据微软开发者博客的描述,我们可以使用VisualStudio2019预览通道,将VisualStudio2019更新至16.6来启用设计器(参见:Updateson.NETCoreWindowsFormsdesigner)。在不启用预览通道的情况下,我们仍然可以...
继续阅读 >
2020
09-27
09-27
在.NET Core中用最原生的方式读取Nacos的配置方法(推荐)
背景之前老黄写过一篇《ASP.NETCore结合Nacos来完成配置管理和服务发现》简单介绍了如何让.NETCore程序接入Nacos,之前的SDK里面更多的是对Nacos的OpenAPI进行了封装以及对服务注册和发现的封装。配置这一块当时并没有过多的处理,用起来有时感觉不会特别顺手,所以将它和.NETCore的配置结合起来了,让它用起来更简便。怎么个简便法呢?可以说,除了多添加一下provider,其他的操作都是和最原始的一模一样,你想用IConfigurati...
继续阅读 >
2020
09-27
09-27
详解在.net core中完美解决多租户分库分表的问题
前几天有人想做一个多租户的平台,每个租户一个库,可以进行水平扩展,应用端根据登录信息,切换到不同的租户库计划用efcore实现,他们说做不出来,需要动态创建dbContext,不好实现然而这个使用CRL很轻松就能解决了以下为演示数据库,有两个库testdb和testdb2,查询结果如下目标:根据传入登录信息连不不同的库,查询返回结果,如登录人为01,返回d1.default,登录人为02返回d2.default实际上这个需求就是分库分表的实现,通过设置数据库/表映...
继续阅读 >
2020
09-25
09-25
.NET Core中创建和使用NuGet包的示例代码
在.NETCore的项目中,如果我们要在项目中引用其它DLL文件,不建议直接在项目引用中添加DLL文件(虽然在.NETCore项目中也可以这么做),建议是去直接下载DLL文件所属的NuGet包。这样最大的好处是我们可以将要引用DLL文件的所有依赖文件也一起引入到项目中,这样保证了引用文件的完整性,让其可以正确地运行。下面我们通过一个.NETCore类库项目和一个ASP.NETCore项目,来演示怎么发布一个NuGet包,并在项目中引用该NuGet包。首先...
继续阅读 >