Aws-lambda-dotnet: Amazon.Lambda.AspNetCoreServer разное поведение на локальном и AWS

Созданный на 28 февр. 2018  ·  7Комментарии  ·  Источник: aws/aws-lambda-dotnet

Привет, команда AWS!

Есть некоторая проблема с вашей реализацией LambdaEntryPoint, поведение отличается от того, что находится в LocalEntryPoint. Чтобы воссоздать этот случай, вам нужно создать CustomAttribute:

`` ''
открытый класс CustomAttribute: ActionFilterAttribute
{
публичное переопределение void OnActionExecuted (ActionExecutedContext actionExecutedContext)
{
HttpResponse response = actionExecutedContext.HttpContext.Response;
LambdaLogger.Log ("Test" + response.StatusCode + "" + (response! = Null) .ToString () + "" +
response.IsSuccessStatusCode (). ToString () + "" + (actionExecutedContext.Result! = null) .ToString ());

        base.OnActionExecuted(actionExecutedContext);
    }
}

`` ''

Если вы протестируете этот CustomAttribute с помощью localEntry, вы увидите, что StatusCode установлен, но когда вы отлаживаете это на AWS, вы получите 0, потому что что-то работает в другом порядке. Я исследую эту проблему с командой OData здесь: OData / WebApi # 1227

A bug modullambda-client-lib queued

Самый полезный комментарий

@normj Есть планы исправить это?

Все 7 Комментарий

Мне удалось воспроизвести проблему, но я еще не уверен, почему это происходит, но я продолжу расследование.

Какие-нибудь новости в этой теме?

@normj , у меня тоже есть аналогичная проблема с этим фильтром настраиваемых действий

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);
            }
        }
    }
}

Он отлично работает локально, возвращает ошибки проверки и завершает запрос, но не выполняется при развертывании в AWS Lambda.

Эта ошибка все еще возникает, если есть какие-то планы по ее устранению?

@normj Есть планы исправить это?

Что нового по этому поводу? Прошло больше года с момента добавления последнего комментария. @ NGL321 , не могли бы вы предоставить обновление?

Привет @julealgon ,

Простите за этикетку и вперед. В настоящее время мы знаем об этой ошибке и планируем ее исправить, но, к сожалению, я не могу дать вам более конкретные сроки, поскольку это не входит в план немедленного исправления.
Если это блокирует, вы можете отправить запрос на исправление, и мы рассмотрим его при первой возможности. В качестве альтернативы, продолжайте натыкаться на это, и я позабочусь о том, чтобы это привлекло внимание как можно скорее (чем больше людей запрашивают исправление, тем выше мы можем переместить его в наших приоритетах) 😉

😸 😷

Была ли эта страница полезной?
0 / 5 - 0 рейтинги