8
我想从wep api actionfilter返回一个json对象。 我该如何做到这一点?Asp.net Web API - 从actionfilter返回数据
我可以从动作返回对象,但我需要在某些情况下从actionfilter返回一些数据。
在此先感谢。
编辑:1 当我改变了代码像下文中,浏览器仍在加载没有任何响应并在超时错误结束。
public class ValidationActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
var modelState = actionContext.ModelState;
if (!modelState.IsValid)
{
List<string> arr = new List<string>();
foreach (var key in modelState.Keys)
{
var state = modelState[key];
if (state.Errors.Any())
{
string er = state.Errors.First().ErrorMessage;
if (!string.IsNullOrEmpty(er))
{
arr.Add(er);
}
}
}
var output = new Result() { Status = Status.Error.ToString(), Data = null, Message = arr };
actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.BadRequest, output, actionContext.ControllerContext.Configuration.Formatters.JsonFormatter);
}
}
}
感谢您的回复。请参阅我的编辑。仍然存在问题 –
如何在.net内核中执行此操作? –
对于我来说,上述解决方案不起作用。行动中的代码仍然执行。 –