当我创建Azure Functions时,它将默认设置“平台32位”。不过我通常将 ASP.NET MVC、OWIN 或任何其他项目设置为 64 位。
我想知道 “Azure Functions 32 位或 64 位有什么区别”?
我猜这会影响 NuGet 包引用和内存分配。但是,由于 Azure Functions 最多只能分配 1536 MB,因此 32 位或 64 位根本没有影响。
有什么明确的理由或建议设置64位吗? 任何建议将非常感激。
我不建议将 Functions 工作进程切换到 64 位。它不会运行得更好,并且内存使用量最终会更高(64 位总是如此)。另外,目前 Functions 仅在 32 位模式下进行了测试,因此您可能会在 64 位模式下遇到一些意外问题。
更新(2/6/2017):请参阅此问题了解最新信息,以及https://github.com/projectkudu/AzureFunctionsPortal/issues/894。
自从这个问题最初发布以来已经快进了近十年,64 位现在是在独立进程中运行 .NET Function 应用程序的方式。
如果您不以 64 位运行,您会在 Azure 门户中收到此警告:
可用性风险警报
中有记录。
您的.NET独立函数应用程序未作为64位进程运行。此应用程序未针对避免较长的冷启动时间进行优化。 为了避免此问题,请确保您的应用程序设置为作为 64 位进程运行。 这在在隔离的工作进程中运行 C# Azure Functions 的指南