我需要为控制器的每个动作的每个JSON答案附加一些信息.为此,我使基本控制器继承自标准MVC Controller类.我试着这样.但我抓住ArgumentException了这样的信息"Stream不可读".当ActionResult对象将数据写入正文时,可能会关闭流.我能做什么?
public override void OnActionExecuted(ActionExecutedContext context)
{
var respApi = new ResponseApiDTO();
respApi.Comment = "You could!!!";
JObject jRespApi = JObject.FromObject(respApi);
Stream bodyStream = context.HttpContext.Response.Body;
JObject jbody;
context.Result = Json(jbody);
using( var rd = new StreamReader(bodyStream))
{
string bodyText = rd.ReadToEnd();
jbody = (JObject)JsonConvert.DeserializeObject(bodyText);
jbody.Add(jRespApi);
context.Result = Json(jbody);
}
}
Run Code Online (Sandbox Code Playgroud)