Ich möchte ein JSON-Objekt aus dem Wep API Actionfilter zurückgeben. Wie kann ich das erreichen?Asp.net Web API - Daten aus Actionfilter
Ich kann das Objekt aus der Aktion zurückgeben, aber ich muss einige Daten aus dem Actionfilter unter bestimmten Bedingungen zurückgeben.
Vielen Dank im Voraus.
Edit: 1 Wenn ich den Code wie die folgenden geändert wurden, immer noch der Browser ohne Antwort Laden und endet in Timeout-Fehler.
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);
}
}
}
Vielen Dank für Ihre Antwort. Bitte sehen Sie meine Bearbeitung. immer noch Problem –
Wie mache ich das in. Net-Core? –
Für mich hat die obige Lösung nicht funktioniert. Der Code in der Aktion wurde weiterhin ausgeführt. –