Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用asp.net核心的自定义AWS Lambda运行时_C#_Amazon Web Services_Asp.net Core_.net Core_Aws Lambda - Fatal编程技术网

C# 使用asp.net核心的自定义AWS Lambda运行时

C# 使用asp.net核心的自定义AWS Lambda运行时,c#,amazon-web-services,asp.net-core,.net-core,aws-lambda,C#,Amazon Web Services,Asp.net Core,.net Core,Aws Lambda,最近,amazon宣布支持自定义.net核心运行时: 我目前的aws lambda项目是使用.NET Core 2.1编写的C#;2.2还不受支持,因此我想使用自定义运行时 但是,为了使用自定义运行时,似乎有必要使用LambdaBootstrap。 从文档中,我不清楚是否可以将其与asp.net core一起使用: p、 目前,我的aws lambda正在使用asp.net core进行身份验证和其他以下是一个很好的演示/教程,展示了作者如何使用lambda引导程序: 作者使用以下代码在本地

最近,amazon宣布支持自定义.net核心运行时:

我目前的aws lambda项目是使用.NET Core 2.1编写的C#;2.2还不受支持,因此我想使用自定义运行时

但是,为了使用自定义运行时,似乎有必要使用
LambdaBootstrap
。 从文档中,我不清楚是否可以将其与asp.net core一起使用:


p、 目前,我的aws lambda正在使用asp.net core进行身份验证和其他

以下是一个很好的演示/教程,展示了作者如何使用lambda引导程序:

作者使用以下代码在本地调试和lambda条目之间切换:

public class LocalEntryPoint
{
    private static readonly LambdaEntryPoint LambdaEntryPoint = new LambdaEntryPoint();
    private static readonly Func<APIGatewayProxyRequest, ILambdaContext, Task<APIGatewayProxyResponse>> Func = LambdaEntryPoint.FunctionHandlerAsync;

    public static async Task Main(string[] args)
    {
#if DEBUG
        BuildWebHost(args).Run();
#else
        // Wrap the FunctionHandler method in a form that LambdaBootstrap can work with.
        using (var handlerWrapper = HandlerWrapper.GetHandlerWrapper(Func, new JsonSerializer()))

        // Instantiate a LambdaBootstrap and run it.
        // It will wait for invocations from AWS Lambda and call the handler function for each one.
        using (var bootstrap = new LambdaBootstrap(handlerWrapper))
        {
            await bootstrap.RunAsync();
        }
#endif
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();
}
public类LocalEntryPoint
{
私有静态只读lambdeantrypoint lambdeantrypoint=new lambdeantrypoint();
私有静态只读Func Func=lambdaintrypoint.FunctionHandlerAsync;
公共静态异步任务主(字符串[]args)
{
#如果调试
BuildWebHost(args.Run();
#否则
//将FunctionHandler方法包装为LambdaBootstrap可以使用的形式。
使用(var handlerWrapper=handlerWrapper.GetHandlerWrapper(Func,new JsonSerializer())
//实例化LambdaBootstrap并运行它。
//它将等待来自AWS Lambda的调用,并为每个调用调用处理程序函数。
使用(var bootstrap=newlambdabootstrap(handlerWrapper))
{
等待bootstrap.RunAsync();
}
#恩迪夫
}
公共静态IWebHost BuildWebHost(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.Build();
}

您是在说与lamda并行运行Web应用程序吗?如果是这样的话,肯定有办法将asp.net核心运行视为一个控制台应用程序,但不明白为什么要这样做;我编辑了我的问题以澄清我的情况:我当前的aws lambda项目是使用.NET Core 2.1编写的C#;2.2还不受支持,因此我想使用自定义运行时。