Azure函数使用ASP.NET的哪些部分?

时间:2018-12-12 06:32:13

标签: azure azure-functions azure-functions-runtime

Azure函数使用来自ASP.NET(Core?)的HttpResultIActionResult类来处理HTTP触发器。 Azure Functions v2运行时是什么版本的ASP.NET?我知道v2使用在.NET Core上运行的.NET Standard 2.0,因此我假设使用ASP.NET Core,但是哪个版本?

2 个答案:

答案 0 :(得分:3)

两个概念,一个是为Azure函数提供动力的主机/运行时。

现在,Azure Function 2.0运行时基于.Net Core 2.1,并引用Microsoft.AspNetCore.App v2.1.6

另一个是Azure WebJobs SDK,该框架简化了编写要在Azure Function运行时上运行的代码的任务。我们可以使用HttpResultIActionResult,因为SDK引用了ASP.NET(Core) packages

<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.4" />
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="2.1.0" />  
<PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Routing" Version="2.1.0" />

我们的Function项目可以定位到netcoreapp2.1netstandard2.0。要使用.Net Core API,请使用netcoreapp2.1

答案 1 :(得分:0)

根据https://github.com/Azure/Azure-Functions/issues/686#issuecomment-389699549,Azure Functions不支持框架的概念,但支持.NET Standard接口。

您的函数必须针对由dotnet core 2.0(https://docs.microsoft.com/en-us/dotnet/standard/net-standard)实现的.NET Standard 2.0

另请参见https://github.com/dotnet/standard/milestone/3-.NET Standard 2.1不可用或即将发布。