ASP.NET Core Web API を Azure App Service に発行しています。Visual Studio 2022 と Azure DevOps パイプラインから発行しました。Visual Studio の発行プロセスによって、Azure DevOps パイプラインとは異なる web.config ファイルが生成される理由を理解しようとしています。
私のプロジェクトには、いくつかのリクエスト制限を含む web.config ファイルが含まれています。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
Visual Studio または DevOps から発行すると、発行プロセスによって aspNetCore モジュールと<aspNetCore>
要素のハンドラー情報が追加されます。
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\DocRecService.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
Visual Studio から公開すると、要素のstdoutLogFile
場所は.<aspNetCore>
"\\?\%home%\LogFiles\stdout"
DevOps パイプラインからビルドして公開すると、stdoutLogFile
場所は.\logs\stdout
.
dotnet publish
aspNetCore モディール情報を追加して web.config ファイルを変換するのは、パイプラインのタスクだと思います。自己完結型のアプリを作成するために、次の引数を渡しています --configuration Release --runtime win-x64 --output $(Build.ArtifactStagingDirectory)
。
web.configのドキュメントには次のように記載されています。
アプリが Azure App Service にデプロイされると、stdoutLogFile パスは \?%home%\LogFiles\stdout に設定されます。
しかし、値を設定する/設定する必要があるものについての説明が見つかりません。値を設定するとは何ですか? Azure DevOps パイプラインまたは Visual Studio の外部でその動作を模倣するにはどうすればよいですか? DevOps パイプラインで使用されていない公開プロファイル内のものですか? 私の主な目標は、プロセスをよりよく理解することです。