我正在创建一个用于记录请求和响应的中间件,因为我是这个新手,它不清楚如何实现它。当我查看一些例子时,我写了以下内容
q = 0;
for i = 1:64
for j = 1:64
if fmu2(i,j) ~= 0;
q = q +1;
end
end
end
for i = 1:64
for j = 1:64
mv = (1/q).*sum(fmu2(i,j));
end
end
我找到了下面的例子,这是记录整个请求和响应,但我需要记录一些属性,我需要在数据库中记录它。
public RequestResponseLogging(RequestDelegate next, ILogger<RequestResponseLogging> logger)
{
if (next == null) throw new ArgumentNullException(nameof(next));
_next = next;
_logger = logger;
}
我试过这样的事情:
public async Task Invoke(HttpContext context)
{
_logger.LogInformation(await FormatRequest(context.Request));
var originalBodyStream = context.Response.Body;
using (var responseBody = new MemoryStream())
{
context.Response.Body = responseBody;
await _next(context);
_logger.LogInformation(await FormatResponse(context.Response));
await responseBody.CopyToAsync(originalBodyStream);
}
}
不确定这是否正确,我是否需要在我的中间件中添加EF?我在nlog中看到的所有示例都要求在启动文件中配置它,但是因为我需要在Middleware中实现它我没有任何启动文件它的类库项目不是API,从API我称之为中间件。 任何人都可以帮助我吗?