我正试图在OnActionExecuting方法中读取请求体,但我总是null为身体做准备.
var request = context.HttpContext.Request;
var stream = new StreamReader(request.Body);
var body = stream.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
我试图将流位置显式设置为0,但这也不起作用.由于这是ASP.NET CORE,我认为事情没有什么不同.我可以在这里看到所有的示例,指的是旧的webapi版本.
有没有其他方法这样做?
我已经看到开发人员在他们编写的几乎所有方法中都尝试,捕获并最终消除了他们在Finally块中创建的对象.
例如-
public void Demo()
{
Something s = null;
try
{
s = new Something();
}
catch (Exception ex)
{
throw;
}
finally
{
s = null;
}
}
Run Code Online (Sandbox Code Playgroud)
这样做有什么用吗?建议这样做是为了使对象无效,因此GC可以收集它们.
如果不这样做,我们可以使用" 使用 "或IDisposable吗?
什么是最佳做法?