成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

記項目升級到.NET 5.0后web api請求攔截器的完善

開發(fā) 前端
最近項目從.net core 2.1直接升級到.net 5.0,發(fā)現(xiàn)很多代碼需要改動,其中就涉及到原來的web api請求攔截器的中Body數(shù)據(jù)的讀取。

最近項目從.net core 2.1直接升級到.net 5.0,發(fā)現(xiàn)很多代碼需要改動,其中就涉及到原來的web api請求攔截器的中Body數(shù)據(jù)的讀取。

[[383600]]

原來的是這樣寫的:

 

  1. if (filterContext.HttpContext.Request.Body.CanSeek) 
  2.   filterContext.HttpContext.Request.EnableBuffering(); 
  3.   StreamReader fStreamReader = new StreamReader(filterContext.HttpContext.Request.Body); 
  4.   fStreamReader.BaseStream.Position = 0; 
  5.   var fBodyData = fStreamReader.ReadToEnd(); 
  6.   fStreamReader.BaseStream.Position = 0; 

fBodyData一直為空,斷點body發(fā)現(xiàn)stream長度為0,自然是無法讀取到任何數(shù)據(jù)。在請求到達攔截器時Body已經被讀取過了,此時在攔截器中使用EnableBuffering并沒有起作用。也是奇怪,.net core 2.1還好好的,怎么突然就不行了。查了些資料,可以通過在Startup中添加如下代碼解決:

 

  1. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) 
  2.   //省略其他代碼 
  3.   app.Use(next => context => 
  4.           { 
  5.     context.Request.EnableBuffering();//啟動倒帶方式 
  6.     return next(context); 
  7.   }); 
  8.   //省略其他代碼 

而攔截器里則可以去掉EnableBuffering的調用了

 

  1. if (filterContext.HttpContext.Request.Body.CanSeek) 
  2.  { 
  3.    filterContext.HttpContext.Request.Body.Seek(0, SeekOrigin.Begin); 
  4.    var reader = new StreamReader(filterContext.HttpContext.Request.Body); 
  5.    var fBodyData = reader.ReadToEndAsync().Result; 
  6.    filterContext.HttpContext.Request.Body.Seek(0, SeekOrigin.Begin); 
  7.  } 

測試了下,日志中終于又可以讀取到body數(shù)據(jù)了。

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2024-05-13 09:32:06

攔截器HTTP中間件

2025-01-03 08:29:53

2014-12-17 09:57:39

2011-03-22 16:23:31

Firefox 4.0升級

2023-12-08 08:38:15

升級工具.NET Core.NET 8

2021-11-01 09:00:00

Windows 11Windows 10微軟

2025-05-09 08:20:50

2011-09-27 09:13:16

Ubuntu 11.0

2011-02-18 09:06:15

ChromeChrome DevLinux

2020-01-13 10:00:32

升級Windows 10Windows

2009-09-14 19:30:53

.NET 3.5+VS

2009-06-24 16:00:00

2022-09-12 21:10:42

LinkerdKubernetes

2010-11-15 08:44:38

ASP.NET MVC

2024-12-04 08:50:03

2009-09-27 17:37:32

Hibernate攔截

2025-02-28 08:14:53

2020-03-25 17:55:30

SpringBoot攔截器Java

2009-08-02 08:54:46

Windows 7 R系統(tǒng)升級

2023-09-05 08:58:07

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品亚洲一区二区三区四区五区高 | 国产精品久久久久久 | 国产成人精品一区二区三 | 一区二区三区影院 | 国产精品久久久久久久久免费樱桃 | 一区二区三区日 | 成人精品一区二区三区 | 欧美日韩高清在线观看 | 在线观看中文字幕视频 | 羞羞的视频免费看 | 一区在线播放 | 亚洲欧美在线视频 | 你懂的国产 | 免费久久99精品国产婷婷六月 | 黄色成人在线网站 | 九七午夜剧场福利写真 | 国产一区二区在线免费 | 午夜精品网站 | 日韩三级免费网站 | 91视频在线观看 | 免费黄色片视频 | 日韩av成人 | 青青草在线视频免费观看 | 国产99小视频 | 在线观看 亚洲 | 无码日韩精品一区二区免费 | 毛片一级片 | 99精品久久久久 | 亚洲欧美综合精品久久成人 | 中文字幕在线网 | 中文字幕第一页在线 | 国产一区二区三区在线 | 精品在线一区二区三区 | 免费观看成人鲁鲁鲁鲁鲁视频 | aaaaaaa片毛片免费观看 | 日本一二三区在线观看 | 网色| 免费中文字幕日韩欧美 | 欧美精品网| 久久99国产精品久久99果冻传媒 | 青青久久 |