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

記項(xiàng)目升級(jí)到.NET 5.0后web api請(qǐng)求攔截器的完善

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

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

[[383600]]

原來(lái)的是這樣寫(xiě)的:

 

  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一直為空,斷點(diǎn)body發(fā)現(xiàn)stream長(zhǎng)度為0,自然是無(wú)法讀取到任何數(shù)據(jù)。在請(qǐng)求到達(dá)攔截器時(shí)Body已經(jīng)被讀取過(guò)了,此時(shí)在攔截器中使用EnableBuffering并沒(méi)有起作用。也是奇怪,.net core 2.1還好好的,怎么突然就不行了。查了些資料,可以通過(guò)在Startup中添加如下代碼解決:

 

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

而攔截器里則可以去掉EnableBuffering的調(diào)用了

 

  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.  } 

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

 

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

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升級(jí)

2023-12-08 08:38:15

升級(jí)工具.NET Core.NET 8

2021-11-01 09:00:00

Windows 11Windows 10微軟

2025-05-09 08:20:50

2011-02-18 09:06:15

ChromeChrome DevLinux

2020-01-13 10:00:32

升級(jí)Windows 10Windows

2011-09-27 09:13:16

Ubuntu 11.0

2009-09-14 19:30:53

.NET 3.5+VS

2009-06-24 16:00:00

2010-11-15 08:44:38

ASP.NET MVC

2022-09-12 21:10:42

LinkerdKubernetes

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)升級(jí)

2023-09-05 08:58:07

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩精品久久一区二区三区 | 久久91| 午夜影院黄 | 东方伊人免费在线观看 | 黄色欧美视频 | 日本在线网站 | 久久狠狠 | 日韩在线免费 | 欧美视频三区 | 久久久这里都是精品 | 日本又色又爽又黄的大片 | 国产超碰人人爽人人做人人爱 | 国产精品久久久久aaaa九色 | 国产日韩精品在线 | 久久精品国产亚洲夜色av网站 | 免费在线一区二区 | 精品av久久久久电影 | 欧美日韩一区二区三区四区 | 毛片一级片 | 国产a区 | 成人黄视频在线观看 | 亚洲视频在线看 | 日韩av一二三区 | 亚洲一区二区三区在线免费观看 | 久久久久久国产精品免费免费男同 | 日韩精品在线一区 | 国产精品一区二区三区久久久 | 国产999精品久久久久久 | 91久久精品国产91久久性色tv | 日日操夜夜操视频 | 国产一区二区在线播放 | 激情欧美一区二区三区中文字幕 | 午夜欧美a级理论片915影院 | 国产精品免费一区二区三区四区 | 免费在线一区二区 | 国产一区二区三区免费视频 | 99精品视频一区二区三区 | 亚洲444kkkk在线观看最新 | 99精品免费久久久久久久久日本 | 四虎最新视频 | 超碰在线免费公开 |