Aws-lambda-dotnet: ローカルとAWSでのAmazon.Lambda.AspNetCoreServerの異なる動作

作成日 2018年02月28日  ·  7コメント  ·  ソース: aws/aws-lambda-dotnet

こんにちはAWSチーム、

LambdaEntryPointの実装にはいくつかの問題があり、動作はLocalEntryPointにあるこれとは異なります。 このケースを再現するには、CustomAttributeを作成する必要があります。

`` `
パブリッククラスCustomAttribute:ActionFilterAttribute
{{
public override void OnActionExecuted(ActionExecutedContext actionExecutedContext)
{{
HttpResponse応答= 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);
            }
        }
    }
}

ローカルで正常に動作し、検証エラーを返し、リクエストを終了しますが、AWSLambdaにデプロイされた場合は実行されません。

修復する計画がある場合、このバグは引き続き発生しますか?

@normjこれを修正する計画はありますか?

これに関する最新情報は何ですか? 最後のコメントが追加されてから1年以上が経ちました。 @ NGL321 、アップデートを提供できますか?

ねえ@julealgon

ラベルをごめんなさい、行きます。 現在、このバグを認識しており、修正を計画していますが、残念ながら、当面の修正計画には含まれていないため、現時点ではより具体的なタイムラインを提供することはできません。
これがブロックされている場合は、プルリクエストを送信して修正してください。できるだけ早く確認します。 または、これをぶつけ続けてください。可能な限り早く注目を集めるようにします(修正をリクエストする人が多いほど、優先順位を上げることができます)😉

😸😷

このページは役に立ちましたか?
0 / 5 - 0 評価