向net core 3.0进击——April.WebApi从2.2爬到3.0

前言

在之前对Swagger的变化做了调整后,就开始想着要不把之前的工程升级得了,这样就还是个demo工程,来做各种测试(当然还是因为懒),这就有了今天这个比较折腾的一步。

升级之路

首先,April.WebApi工程右键->属性,将之前的net core 2.2升级到3.0,然后对每个类库项目右键->属性,将net standard 2.0升级到2.1(这个应该是没啥)。

升级之后,我们重新生成一下,咦,没报错美滋滋。

因为之前有过创建3.0的工程例子,所以对于Startup这块儿还是要调整下的。

问题1

640?wx_fmt=png640?wx_fmt=png640?wx_fmt=png

因为net core3.0之后,对于Api可能是调整了(因为没创建过Mvc工程),所以这个地方不再模糊的使用Mvc了。

  • 修改后

因为部分方法被弃用,因为3.0是一个崭新的开始。

640?wx_fmt=png640?wx_fmt=png640?wx_fmt=png

好了,修改完启动文件,我们来愉快的运行吧。

问题2

640?wx_fmt=png

  • 修改后640?wx_fmt=png

这个问题修改完后,我们再来运行下程序。

问题3

640?wx_fmt=png

这个是什么问题呢,Session也不让这样玩了,也不是,主要问题呢是现在不需要WebHost了,Session的实现不明确了应该是,所以我们来该升级的升级,该调整的调整,其他工程引入的同样需要更新下

  • 修改640?wx_fmt=png

这个地方因为我在看到错误后直接来这升级了,没有截到图,升级的库名Microsoft.VisualStudio.Web.CodeGeneration.Design

修改Program内容如下:

    public class Program{public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();});}
  • 补充

在下面的执行时,我发现使用Session会有问题,具体什么问题呢,因为3.0多了一个注册项,所以session的代码调整如下,这里注意下UseSession的位置要在Redirection之后。

        public void ConfigureServices(IServiceCollection services){…#region Sessionservices.AddDistributedMemoryCache();services.AddSession(options =>{options.Cookie.Name = "April.Session";options.IdleTimeout = TimeSpan.FromSeconds(2000);//设置session的过期时间options.Cookie.HttpOnly = true;//设置在浏览器不能通过js获得该cookie的值,实际场景根据自身需要options.Cookie.IsEssential = true;});#endregion…}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){…app.UseHttpsRedirection();app.UseSession();app.UseRouting();…}

修改完成后,我们再来运行下程序。

问题4

640?wx_fmt=png

  • 修改

这个我不需要翻译软件都能看到,这什么什么不让返回了,emm。

让我们忘记刚才的难受,继续运行程序吧。

问题5

640?wx_fmt=png

这个乌压压一大片我还以为浏览器崩了呢,仔细一看,好吧,swagger的事,这里就不多说了。

  • 修改

在我以为能看到友好的Swagger的时候,现实给了我一巴掌。

问题6

640?wx_fmt=png

这个问题,依然是想用扩展的DI导致的,AspectCore这块儿的东西暂时先屏蔽了,后续找到解决方法之后再处理吧。

  • 修改

经过以上一堆折腾后,我们终于迎来了Swagger欢迎的样子,不容易。

640?wx_fmt=png

测试

为什么还要带上这个呢,我也搞不懂,习惯了测试一下功能吧,但是这里就不一一截图了,太麻烦(当然测试也只是简单的执行了下之前的测试方法)。

  • log4net 功能正常

  • swagger功能正常

  • cache功能正常

  • session功能正常

  • cookie功能正常

  • sqlsugar功能正常

  • aop日志功能正常

  • redis功能正常

  • 拦截器与中间层功能正常

如果有我没试到的问题,可以给我留言,因为一个人的力量终究还是有那么点儿局限的。

小结

在覆盖原代码的时候我想了一会儿,我担心万一有人在用呢,这样覆盖后会不会对人有影响,但是转念一想,唉,这东西怕是都没人用吧,自己鼓捣的东西,还是折腾点儿好,折腾使人进步,折腾活跃大脑,折腾…,编不下去了,以后再鼓捣新东西就是直接net core3.0上搞起了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

共识与拜占庭将军问题

1、共识基础 人们对共识机制的研究其实由来已久&#xff0c;从上世纪70年代就开始了相关研究&#xff0c;其目的是为了解决分布式系统中的一致性问题。Fischer, Lynch 和 Patterson在1985年发表的论文中提出了可以说是最重要的分布式系统定理&#xff1a;FLP不可能定理&#x…

C#刷遍Leetcode面试题系列连载(2): No.38 - 报数

前言前文传送门&#xff1a;上篇文章中我们主要科普了刷 LeetCode 对大家的作用&#xff0c;今天咱们就正式进行 LeetCode 算法题分析。很多人都知道计算机中有种思想叫 递归&#xff0c;相应地也出现了很多算法。解决递归问题的要点有如下几个:找出递归的关系比如&#xff0c;…

Bumblebee微服务网关之负载策略

作为一个微服务网关&#xff0c;提供不同负载策略配置是一项非常重要的主要功能&#xff1b;在这方向Bumblebee提供了非常好的支持。Bumblebee可以针对不同路径制定各自的负载策略&#xff0c;更重要的是这些调整都可以在网关运行过程动态调整&#xff01;动态策略调整可以更好…

FastDFS分布式文件系统设计原理

FastDFS是一个开源的轻量级分布式文件系统&#xff0c;由跟踪服务器&#xff08;tracker server&#xff09;、存储服务器&#xff08;storage server&#xff09;和客户端&#xff08;client&#xff09;三个部分组成&#xff0c;主要解决了海量数据存储问题&#xff0c;特别适…

14年百度深度学习校招题目

一、简答题1.深度神经网络目前有哪些成功的应用&#xff1f;简述原因。(10分) 2.列举不同进程共享数据的方式&#xff08;至少三种&#xff09;。(10分) 3.对于N个样本&#xff0c;每个样本为D维向量&#xff0c;采用欧式距离使用KNN做类预测。(10分) 1).给出预测时间复杂度。 …

HDFS分布式文件系统设计原理

Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统&#xff0c;适合部署在廉价的机器上。它能提供高吞吐量的数据访问&#xff0c;非常适合大规模数据集上的应用。要理解HDFS的内部工作原理&#xff0c;首先要理解什…

Magicodes.IE已支持导出Word、Pdf和Html

关于Magicodes.IE导入导出通用库&#xff0c;通过导入导出DTO模型来控制导入和导出&#xff0c;支持Excel、Word、Pdf和Html。GitHub地址&#xff1a;https://github.com/xin-lai/Magicodes.IE特点需配合相关导入导出的DTO模型使用&#xff0c;支持通过DTO以及相关特性控制导入…

AOP框架Dora.Interception 3.0 [1]: 编程体验

.NET Core正式发布之后&#xff0c;我为.NET Core度身定制的AOP框架Dora.Interception也升级到3.0。这个版本除了升级底层类库&#xff08;.NET Standard 2.1&#xff09;之外&#xff0c;我还对它进行大范围的重构甚至重新设计。这次重构大部分是在做减法&#xff0c;其目的在…

分布式缓存——一致性哈希算法

本文主要来自&#xff1a;http://www.zsythink.net/archives/1182 摘录防丢失 一致性哈希算法定义 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希&#xff08;DHT&#xff09;实现算法&#xff0c;设计目标是为了解决因特网中的热点(Hot spot)问题&#xff0c;初…

H264学习_基本数据结构

&#xfeff;&#xfeff;原文地址:http://blog.csdn.net/yangzhongxuan/article/details/8003494 名词解释 场和帧 &#xff1a; 视频的一场或一帧可用来产生一个编码图像。在电视中&#xff0c;为减少大面积闪烁现象&#xff0c;把一帧分成两个隔行的场。 片&#xff1a…

【巴马火麻茶】调节三高、治疗失眠、排毒减肥,轻松get长寿的秘密!

水&#xff0c;无色无味&#xff0c;是人类的生命源泉对于长期坐办公室的程序员朋友来说每日都得喝水但又觉得寡淡的白开水缺少点乐趣于是&#xff0c;茶叶就成了大家泡水的首选今天&#xff0c;队长要为大家介绍一款养生好茶巴马火麻茶每天一杯&#xff0c;轻松get长寿的秘密火…

「合规」震惊!地图可视化竟能如此玩,零门槛,全免费,效果远胜主流作图工具!...

在数据可视化领域&#xff0c;早晚会遇上地图可视化的需求&#xff0c;一个高大上的地图可视化&#xff0c;瞬间拔高整个报告的层次。Excel催化剂有幸接触并将地图可视化完全落地于Excel中完成。相对主流Python、R、PowerBI等作图工具&#xff0c;在易用性、灵活性和功能的强大…

Opencv SVM demo

&#xfeff;&#xfeff;转载自http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html 支持向量机 (SVM) 是一个类分类器&#xff0c;正式的定义是一个能够将不同类样本在样本空间分隔的超平面。 换句话说&#xff…

BeetleX之FastHttpApi服务使用详解

BeetleX是一个轻量级高性能的开源TCP通讯应用框架&#xff0c;通过BeetleX可以轻松扩展不同场的TCP应用服务和客户端组件。框架开源地址:https://github.com/IKende/BeetleX组件特点高性能TCP通讯组件,轻易实现百万级RPS通讯交互提供完善的会话管理机制和协议分析规则提供简洁的…

康威定律

本文来自&#xff1a;http://www.dockone.io/article/2691 1、概述 微服务架构是一种非常流行的新概念&#xff0c;即便可供以借鉴的经验比较少&#xff0c;当然不能阻挡它成为热门话题与研究对象。 令人惊讶地是&#xff0c;其实微服务的概念早在五十多年前就已经被提出&…

Cannot find or open the PDB file

&#xfeff;&#xfeff;http://blog.chinaunix.net/uid-11765716-id-3074932.html 遇到问题 SVM_demo.exe (Win32): Loaded ...\SVM_demo\Debug\SVM_demo.exe. Symbols loaded. SVM_demo.exe (Win32): Loaded C:\Windows\System32\ntdll.dll. Symbols loaded. SVM_demo.exe…

基于ASP.NET Core 3.0的ABP v0.21已发布

在微软发布仅仅一个小时后, 基于ASP.NET Core 3.0的ABP v0.21也紧跟着发布了.v0.21没有新功能.它只是升级到稳定的ASP.NET Core 3.0. 查看v0.20发行说明以获取新功能,增强功能和错误修复.关于v1.0ABP框架越来越接近v1.0.我们打算在今年10月中旬发布1.0. 现在,我们将完善测试和文…

SOA和微服务

一、面向服务的架构SOA SOA代表了面向服务的架构。 SOA是一种使用松耦合的黑盒子服务构建业务应用的体系架构&#xff0c;这些服务可以通过编排连接在一起以实现特定的功能。 面向服务的架构&#xff08;Service-Oriented Architecture&#xff09;是一种软件体系结构&#x…

[ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [上篇]

微软在千禧年推出 .NET战略&#xff0c;并在两年后推出第一个版本的.NET Framework和IDE&#xff08;Visual Studio.NET 2002&#xff0c;后来改名为Visual Studio&#xff09;&#xff0c;如果你是一个资深的.NET程序员&#xff0c;相信传统的.NET应用的开发方式已经深深地烙印…

下一代微服务架构基础:ServiceMesh?

最近&#xff0c;ServiceMesh(服务网格) 概念在社区里头非常火&#xff0c;有人提出 2018 年是 ServiceMesh 年&#xff0c;还有人提出 ServiceMesh 是下一代的微服务架构基础。作为架构师&#xff0c;如果你现在还不了解 ServiceMesh 的话&#xff0c;是否感觉有点落伍了&…