在.netstandard2.0时 System.Data.Common 这个包里并没有加入DbProviderFactories DbProviderFactories类在.netframework中是非常重要的存在,依靠他可以适配各种数据库客户端(sqlserver.mysql.sqllite等)创建数据库连接. 现在 随着.netcore3.0的正式发布,已经实现了.netstandard2.1,并且在此版本中实现了 DbProviderFactories 现在可以像.netframewo…
在ASP.NET Core 3.0中路由配置和2.0不一样了 一.MVC 服务注册 ASP.NET Core 3.0 添加了用于注册内部的 MVC 方案的新选项Startup.ConfigureServices.三个新的顶级扩展方法与 MVC 方案上IServiceCollection可用. 模板使用这些新方法,而不是UseMvc. 但是,AddMvc继续像它已在以前的版本.下面的示例将添加对控制器和与 API 相关的功能,但不是视图或页面的支持. API 模板使用此代码: public voi…
一.新配置路由策略  在 Asp.Net Core 3.0中默认不再支持app.UserMvc() 方式配置路由 系统. 而是使用新的模式,点击查看asp.netCore3.0区域和路由配置变化 默认使用的话 会抛出异常: InvalidOperationException: Endpoint Routing does not support 'IApplicationBuilder.UseMvc(...)'. To use 'IApplicationBuilder.UseMvc' set 'M…
一.MVC 服务注册 ASP.NET Core 3.0 添加了用于注册内部的 MVC 方案的新选项Startup.ConfigureServices.三个新的顶级扩展方法与 MVC 方案上IServiceCollection可用. 模板使用这些新方法,而不是UseMvc. 但是,AddMvc继续像它已在以前的版本.下面的示例将添加对控制器和与 API 相关的功能,但不是视图或页面的支持. API 模板使用此代码: public void ConfigureServices(IServiceCol…
这是系列文章中的第一篇:使用GraphvizOnline可视化ASP.NETCore3.0终结点.. 第1部分-使用DOT语言来可视化你的ASP.NETCore3.0终结点(本文) 第2部分-向ASP.NET Core应用程序添加终结点图 第3部分-使用ImpromptuInterface创建一个自定义的DfaGraphWriter,以便于反射 作者:依乐祝 原文:https://andrewlock.net/visualizing-asp-net-core-endpoints-using-gr…
概述 自从.Net6.0出来后,一直想之前开发的项目升级.Net6.0,有时想想毕竟中间还跨了个5.0版本,升级起来不知道坑大不大,最近抽时间对升级的方案做了些研究,然后将代码升级为.Net6.0.本质上来说我个人不太喜欢.Net6.0去掉main方法和startup,微软这么干让初学者学习的门槛其实是更高了,但阻挡不住我喜欢.Net6.0项目的发布包体积确实小等!来,开干吧! 首先我们看下asp.netcore3.1的program代码: public class Program { publ…
自从core3.0发布后,中间有很多东西跟以往用到的2.2版本相差特别多,今天主要来说一下swagger不同版本下的使用. swagger就是一个可视化接口工具,为了方便让调用者能够很好的了解接口以及接口需要的参数!具体界面不做过多的截图,今天主要以应用为主. 一:2.2版本下面使用swagger 1.1:创建一个netcore2.2版本的webapi的项目 1.2:在Nuget中添加Swashbuckle.AspNetCore 1.3:在Startup类中增加如下内容: 1.3.1:在Conf…
今天研究Google的grpc框架的时候看到了https://www.cnblogs.com/yilezhu/p/10631420.html这哥们儿的博客 按照博客的内容找寻grpc模板,始终找不到Asp.Net Core Web应用程序下的gRpc Service模板 我就打开控制台dotnet new -h一下,发现NetCore3.0有这个模板 原来VS2019最新版把这个模板从Asp.Net Core Web中分离出来,单独做成了一个模板 以上标记一下,希望大家找到位置…
在之前的ASP.NET MVC实现依赖注入一文中,通过替换默认的ControllerFactory来达到对Controller生命周期的拦截,实现自定义的对象注入,在NetCore3.0中需要重新实现,步骤如下: 1.获取所有相关业务程序集 public static List<Assembly> GetFrameworkAssemblys() { var list = new List<Assembly>(); var deps = DependencyContext.Defau…
很多时候我们需要链接转向(Url Rewriting),例如二级域名转向.文章访问链接等场合. 让我们看两个例子: 1 你现在看到的当前作者的博客园的域名: http://jx270.cnblogs.com/ 实际上是 http://www.cnblogs.com/jx270 的一种链接重写(Url Rewriting). 2 codeproject上的文章,我们获取的地址都是以文章主要关键字做的网页名称: http://www.codeproject.com/cs/webservices/ws…