Aws-lambda-dotnet: Comportement différent d'Amazon.Lambda.AspNetCoreServer sur local et AWS

Créé le 28 févr. 2018  ·  7Commentaires  ·  Source: aws/aws-lambda-dotnet

Bonjour l'équipe AWS,

Il y a un problème avec votre implémentation de LambdaEntryPoint, le comportement est différent de celui qui est sur LocalEntryPoint. Pour recréer ce cas, vous devez créer CustomAttribute:

''
classe publique CustomAttribute: ActionFilterAttribute
{
public override void OnActionExecuted (ActionExecutedContext actionExecutedContext)
{
Réponse HttpResponse = actionExecutedContext.HttpContext.Response;
LambdaLogger.Log ("Test" + response.StatusCode + "" + (response! = Null) .ToString () + "" +
response.IsSuccessStatusCode (). ToString () + "" + (actionExecutedContext.Result! = null) .ToString ());

        base.OnActionExecuted(actionExecutedContext);
    }
}

''

Si vous testez ce CustomAttribute avec localEntry, vous verrez que StatusCode est défini, mais lorsque vous le déboguez sur AWS, vous obtiendrez 0, quelque chose fonctionnera dans un ordre différent. J'étudie ce problème avec l'équipe OData ici: OData / WebApi # 1227

A bug modullambda-client-lib queued

Commentaire le plus utile

@normj Des plans pour résoudre ce problème?

Tous les 7 commentaires

J'ai pu reproduire le problème mais je ne sais pas encore pourquoi cela se produit, mais je vais continuer à enquêter.

Des nouvelles dans ce sujet?

@normj , je rencontre également un problème similaire avec ce filtre d'action personnalisé

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;

namespace Infrastructure
{
    public class ValidateModelAttribute : ActionFilterAttribute, IOrderedFilter
    {
        public ValidateModelAttribute()
        {
            Order = 100;
        }
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            if (!context.ModelState.IsValid)
            {
                context.Result = new BadRequestObjectResult(context.ModelState);
            }
        }
    }
}

Il fonctionne correctement localement et renvoie des erreurs de validation et met fin à la demande, mais il ne s'exécute pas lorsqu'il est déployé sur AWS Lambda.

Ce bogue se produit toujours, s'il y a un plan pour le réparer?

@normj Des plans pour résoudre ce problème?

Quelle est la dernière à ce sujet? Cela fait plus d'un an que le dernier commentaire a été ajouté. @ NGL321 , pouvez-vous fournir une mise à jour?

Salut @julealgon ,

Désolé pour l'étiquette et c'est parti. Nous sommes actuellement au courant de ce bogue et prévoyons de le corriger, mais malheureusement, je ne peux pas vous donner un calendrier plus concret pour le moment car il ne fait pas partie du plan de correction immédiat.
Si cela se bloque, vous êtes invités à soumettre une pull request pour corriger et nous l'examinerons dès que possible. Sinon, continuez à cogner cela, et je veillerai à ce qu'il retienne l'attention dès que possible (plus il y a de personnes qui demandent une solution, plus nous pouvons la déplacer dans nos priorités) 😉

😸 😷

Cette page vous a été utile?
0 / 5 - 0 notes