.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