C# ActionFilter获取API响应对象
如何获取ActionFilterAttribute中实际对象的值? 在调试器中,我在actionExecutedContext.Result.value中看到值 但是,当尝试将它们实际输入为 actionExecutedContext.Result.Value或actionExecutedContext.Result.GetValue,它无法识别它们 我需要实际的对象,所以它可以被发送到我的一个静态数据方法,它接受一个输入,并将所有数字乘以2C# ActionFilter获取API响应对象,c#,.net,asp.net-core,.net-core,action-filter,C#,.net,Asp.net Core,.net Core,Action Filter,如何获取ActionFilterAttribute中实际对象的值? 在调试器中,我在actionExecutedContext.Result.value中看到值 但是,当尝试将它们实际输入为 actionExecutedContext.Result.Value或actionExecutedContext.Result.GetValue,它无法识别它们 我需要实际的对象,所以它可以被发送到我的一个静态数据方法,它接受一个输入,并将所有数字乘以2 public async Task OnAction
public async Task OnActionExecutionAsync(ActionExecutingContext actionContext, ActionExecutionDelegate next)
{
var actionExecutedContext= await next();
// ObjectDataConverter.MultiplyIntegersBy2(test.Result.Value);
}
actionExecutedContext.Result.Value错误CS1061:“IActionResult”不包含“Value”的定义,并且找不到接受“IActionResult”类型的第一个参数的可访问扩展方法“Value”是否缺少using指令或程序集引用
参考资料:您需要将actionExecutedContext.Result强制转换为ObjectResult并使用ObjectResult.Value,如果转换成功:
var objResult = actionExecutedContext.Result as ObjectResult;
if (objResult != null && objResult.Value != null) {
// process objResult.Value here
}