pse*_*ury 14 azure azure-web-app-service asp.net-core asp.net-core-webapi
我已将 .NET Framework 4.6 WebApi 迁移到 .NETCore 2.2,但无法让 IIS ApplicationInitialization 模块在启动/插槽交换/扩展时调用我的端点。
我添加了一个 Web.Config 像:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\FR911.Api.Core.dll" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" hostingModel="inprocess" />
<applicationInitialization doAppInitAfterRestart="true">
<add initializationPage="api/Warmup>
<add initializationPage="/" />
</applicationInitialization>
</system.webServer>
</location>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是如果我保持默认的“inprocess”托管模型,我的预热就不会被调用。如果我更改为“进程外”托管,则在交换完成之前会调用我的预热。
我认为以下问题可能相关:
https://github.com/aspnet/AspNetCore/issues/8057
我不希望只是手动 ping 或以其他方式访问我的端点,因为我希望模块中的现有功能 IIS 是 Azure 在预热请求完成之前不会实际交换端点(因此初始化 EFCore 等)
有没有人有幸让它与进程内托管模型一起工作?
| 归档时间: |
|
| 查看次数: |
2051 次 |
| 最近记录: |