.netcore3.1中间键或过滤器获取请求参数

编程

解决方法  在站点启动时设置以插入中间件的方式启用EnableBuffering,以达到在全局多次读取的目的。

在 Startup 文件  Configure 中 加入  代码如下: 进行注册

app.Use(next => context =>

{

context.Request.EnableBuffering();

return next(context);

});

此外,3.0中默认禁用了AllowSynchronousIO,同步读取body的方式需要ConfigureServices中配置允许同步读取IO流,否则可能会抛出异常 Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.
根据使用的托管的服务进行配置或直接使用异步读取方式

   services.Configure<KestrelServerOptions>(x => x.AllowSynchronousIO = true)

.Configure<IISServerOptions>(x => x.AllowSynchronousIO = true);

 

以上是 .netcore3.1中间键或过滤器获取请求参数 的全部内容, 来源链接: utcz.com/z/514270.html

回到顶部