webbuilder

asp.net core3.0 mvc 用 autofac

邮差的信 提交于 2021-02-19 02:20:19
好久没有写文章了,最近在用.net core3.0,一些开发中问题顺便记录; 1.首先nuget引入 Autofac Autofac.Extensions.DependencyInjection 2.修改Program.cs 添加.UseServiceProviderFactory(new AutofacServiceProviderFactory()) public class Program { public static void Main( string [] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder( string [] args) => Host.CreateDefaultBuilder(args) .UseServiceProviderFactory( new AutofacServiceProviderFactory()) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <Startup> (); }); } 3.修改Startup.cs 添加 services.AddControllersWithViews()

.Net Core 2.2升级3.1的避坑指南

天大地大妈咪最大 提交于 2020-10-27 01:40:09
写在前面   微软在更新.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 " ,

(一)学习了解OrchardCore笔记——开篇:基于asp.net core的OrchardCore

冷暖自知 提交于 2020-10-23 17:51:54
  想深入了解OrchadCore源码许久了,但是读源码的时候遇到很多问题而网上的参考资料太少了(几乎都是OrchadCms不带OrchardCore的),现在解决得差不多了,做下笔记方便自己查看,有错误之处也请大家帮忙指出,谢谢。   OrchardCore是一个基于asp.net core的cms(废话),其结构类似于asp.net core(为啥说类似我也不知道,asp.net core的源码我只看了一部分,似是而非吧)。因此,我将直接从asp.net core的角度来解析OrchardCore,从asp.net core的角度就是说关于asp.net core的靠自己理解,可以省略1万字。   废话结束,开始正题,源码直接github搜索OrchardCore就可以下载了,我直接用visual studio(我不用rider,首先我没钱买,其次我之前是弄.net framework不是java,我用的vs都是社区版)自带的git去clone半天(这小水管受不了后面直接码云找镜像仓库clone了)。   clone完了,第一个坑出现了,选择记得选择版本和分支,说多都是泪,OrchardCore支持的版本(从.net core 1.0到.net core 3.1都有)和自身的分支太多了,第一次接触没注意跳坑了导致各种出错(原因是我没有装对应的.net core版本,默认好像2

Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(二)

可紊 提交于 2020-10-13 00:56:46
上文 已经介绍了Identity Service的实现过程。今天我们继续,实现一个简单的Weather API和一个基于Ocelot的API网关。 回顾 《 Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(一) 》 Weather API Weather API实现非常简单,直接用Visual Studio 2019 Community Edition自带的ASP.NET Core Web Application模板创建就行了,我们的目的不是为了实现Weather API的业务,我们只需要有一个能让IdentityServer4进行保护的API就行,以便能够完成我们的各种实验。 在原有的(也就是Identity Service所在的)解决方案中,新建一个ASP.NET Core Web Application,应用程序模板选择API,并禁用HTTPS和Docker支持,因为目前不需要,也不要启用任何Authentication机制,因为这部分功能会由Ocelot配合IdentityServer4实现。在完成创建之后,我们的Weather API就做好了。 现在,设置启动端口为5000,启动项目,然后通过curl测试API是否工作正常: curl http://localhost:5000/weatherforecast |

Asp.net Core 3.1基于AspectCore实现AOP,实现事务、缓存拦截器

若如初见. 提交于 2020-08-20 06:35:10
最近想给我的框架加一种功能,就是比如给一个方法加一个事务的特性Attribute,那这个方法就会启用事务处理。给一个方法加一个缓存特性,那这个方法就会进行缓存。 这个也是网上说的面向切面编程AOP。 AOP的概念也很好理解,跟中间件差不多,说白了,就是我可以任意地在方法的前面或后面添加代码,这很适合用于缓存、日志等处理。 在net core2.2时,我当时就尝试过用autofac实现aop,但这次我不想用autofac,我用了一个更轻量级的框架,AspectCore。 用起来非常非常的简单,但一开始还是走了一点弯路,主要是网上都是net core3以下的教程,3以下的使用方法跟之前有一些不同。 先安装NuGet包,包名:AspectCore.Extensions.DependencyInjection 然后在Program.cs类中增加一行代码,这是net core 3的不同之处,这句添加的代码,意思就是用AspectCore的IOC容器替换内置的。因为AOP需要依靠IOC实现,所以必须得替换掉内置的IOC。 public class Program { public static void Main( string [] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder

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

.NET Core微服务开发网关篇-ocelot

烂漫一生 提交于 2020-08-17 00:07:33
通过上篇我们知道,网关是外部访问的统一入口,本文采用Ocelot作为Api网关。 环境要求: vs2019 .NetCore3.1 Ocelot16.0.1 创建一个产品服务Api站点(AAStore.ProductCatalog.Api) 添加一个ProductController [Route( " api/[controller] " )] [ApiController] public class ProductController : ControllerBase { [HttpGet(template: " Get " )] public string GetProductById() { return " Product service " ; } } 运行浏览 然后再创建一个订单服务Api站点(AAStore.Orde.Api) 添加一个OrderController [Route( " api/[controller] " )] [ApiController] public class OrderController : ControllerBase { [HttpGet(template: " Get " )] public string GetOrder() { return " Order Service " ; } } 运行浏览 两个服务已经已经准备好了

.NET Core微服务开发网关篇-ocelot

Deadly 提交于 2020-08-10 04:33:54
通过上篇我们知道,网关是外部访问的统一入口,本文采用Ocelot作为Api网关。 环境要求: vs2019 .NetCore3.1 Ocelot16.0.1 创建一个产品服务Api站点(AAStore.ProductCatalog.Api) 添加一个ProductController [Route( " api/[controller] " )] [ApiController] public class ProductController : ControllerBase { [HttpGet(template: " Get " )] public string GetProductById() { return " Product service " ; } } 运行浏览 然后再创建一个订单服务Api站点(AAStore.Orde.Api) 添加一个OrderController [Route( " api/[controller] " )] [ApiController] public class OrderController : ControllerBase { [HttpGet(template: " Get " )] public string GetOrder() { return " Order Service " ; } } 运行浏览 两个服务已经已经准备好了

.Net Core 2.2升级3.1的避坑指南

萝らか妹 提交于 2020-08-10 04:19:52
写在前面   微软在更新.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 " ,

.NET Core 微服务—API网关(Ocelot) 教程 [二]

血红的双手。 提交于 2020-08-09 13:31:45
上篇文章( .NET Core 微服务—API网关(Ocelot) 教程 [一] )介绍了Ocelot 的相关介绍。 接下来就一起来看如何使用,让它运行起来。 环境准备  为了验证Ocelot 网关效果,我们先创建3个webapi项目:目录api(Api.Catalog)、订单api(Api.Ordering)、Ocelot网关(ApiGateway.Ocelot);并为每个WebApi项目添加Values控制器(ValuesController),用于区分最终调用效果   如下图:    Ocelot使用    1、添加 Ocelot包依赖:    接下来使用Nuget包管理工具为ApiGateway.Ocelot项目添加Ocelot包引用:      当然也可用使用命令方式添加Ocelot包: Install-Package Ocelot   2、添加Ocelot配置文件:(重点)      向ApiGateway.Ocelot项目添加一个Ocelot.json配置文件,并修改配置文件为如下内容:   { " GlobalConfiguration " : { }, " Routes " : [ { " DownstreamPathTemplate " : " /api/{everything} " , " DownstreamScheme " : " http " , "