【发布时间】:2019-04-20 10:11:24
【问题描述】:
我有一个带有方法的动作过滤器:
public void OnActionExecuted(ActionExecutedContext context)
{
try
{
Stream originalBody = context.HttpContext.Response.Body;
string responseBody = string.Empty;
try
{
using (var memStream = new MemoryStream())
{
context.HttpContext.Response.Body = memStream;
memStream.Position = 0;
responseBody = new StreamReader(memStream).ReadToEnd();
memStream.Position = 0;
memStream.CopyTo(originalBody);
}
}
finally
{
context.HttpContext.Response.Body = originalBody;
}
_logger.LogDebug("OnActionExecuted, response=" + responseBody);
}
catch(Exception ex)
{
_logger.LogError(ex, "");
//throw ex;
}
//throw new NotImplementedException();
}
responseBody 变量始终为空字符串。但我在 Postman 上得到以下回复:
{"custId": "1235","Channel": "InternetBanking"}
为什么我不能在我的 responseBody 变量上得到这个?
【问题讨论】:
标签: c# .net-core asp.net-core-2.0 asp.net-core-webapi