【发布时间】:2022-11-11 19:27:29
【问题描述】:
使用 Azure 功能,使用 .net 6 和 .net 6 隔离有什么区别?
【问题讨论】:
标签: azure azure-functions dotnet-isolated
使用 Azure 功能,使用 .net 6 和 .net 6 隔离有什么区别?
【问题讨论】:
标签: azure azure-functions dotnet-isolated
它们之间的第一个主要术语是 .NET 6 属于进程内,而独立属于 Azure Functions 的进程外运行时。
Azure Functions .NET Isolated Process 官方文档为您提供了为什么要使用独立的上下文以及它相对于 .NET 6 等进程内运行时语言的好处。
.NET 6 与 .NET 6 在 Azure Functions 上隔离的几点:
因为 .NET 类库共享绑定 API 和类型,所以宿主进程和进程内运行时中的 .NET 函数之间的紧密耦合。
独立的 .NET 函数项目是一个控制台应用程序,可让您访问函数应用程序的启动。
另一个Microsoft Doc 提供有关功能和行为差异的详细信息,以便在进程外和进程内运行函数。
【讨论】:
在我看来,主要区别在于:
| Feature | In-process | Isolated process |
|---|---|---|
| Development packages | Microsoft.NET.Sdk.Functions (developed since 2017) | Newer, improved Microsoft.Azure.Functions.Worker (developed since 2021) |
| Middleware | Not supported | Supported |
| Cold start time | Regular Just In Time (JIT) latency | JIT + additionally process launch |
有关进程内和隔离工作进程 .NET Azure Functions 之间差异的更多详细信息,请参阅documentation。
【讨论】: