C# 使用asp.net核心的自定义AWS Lambda运行时
最近,amazon宣布支持自定义.net核心运行时: 我目前的aws lambda项目是使用.NET Core 2.1编写的C#;2.2还不受支持,因此我想使用自定义运行时 但是,为了使用自定义运行时,似乎有必要使用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引导程序: 作者使用以下代码在本地
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还不受支持,因此我想使用自定义运行时。