【问题标题】:Is it possible to publish a .net core web api to azure functions?是否可以将 .net 核心 web api 发布到 azure 函数?
【发布时间】:2020-09-07 14:37:36
【问题描述】:

我最近将工作从 AWS 商店转到了 Azure 商店,两者都使用 dotnet。 AWS 发布了Amazon.Lambda.AspNetCoreServer,这是一个神奇的 Nuget 包,它允许您编写一个普通的 ASP.NET 核心 Web API 并将其部署到一个只有 a few lines on config 的 lambda 中。我真的很喜欢这种模式,因为它允许开发人员编写一个普通的 web api,而不会将主机运行时泄漏到他们的编码中。

Azure 中是否存在类似的东西?甚至是社区支持的东西?或者有什么方法可以在 Azure Functions 中实现类似的功能?

【问题讨论】:

    标签: azure .net-core aws-lambda azure-functions asp.net-core-webapi


    【解决方案1】:

    不幸的是,没有简单的方法可以做到这一点,因为 Azure 函数格式有点不同。

    [FunctionName(nameof(GetAll))]
    public IActionResult GetAll([HttpTrigger("get", Route = "entity")]HttpRequest request)
    

    然后它将生成带有 AF 元数据的 json。

    如果您希望托管纯 .net 核心而不进行任何更改,我会查看容器选项

    PS0:理论上可以通过一点点反思来做到这一点。例如,您使用所有 Asp.Net 核心 api 创建项目,您可以在 asp.net 核心托管中使用它们。然后你编写工具来抓取你的 dll 并使用反射找到你的控制器中的所有操作并为 AF 生成代码

    PS1:看看https://github.com/tntwist/NL.Serverless.AspNetCore

    【讨论】:

    • 即使我将我的函数部署在容器中,它仍然必须编码为函数应用程序。如果我想构建纯 .net 核心,我似乎必须使用另一台主机。
    • @MikePennington 我的意思是像普通 Asp.Net Core 而不是 AF 那样部署到容器
    • @MikePennington 我刚刚在睡觉后更新了我的问题得到了想法:) 但这会有点编码;)
    • 你的 PS1 答案正是我想要的!
    猜你喜欢
    • 2019-07-21
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    • 2019-03-10
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    相关资源
    最近更新 更多