You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of dotnet/aspnetcore#40961 to make ShadowCopy non experimental we should document this feature
New section content:
ShadowCopying
In .NET 6 we added experimental support for shadow copying app assemblies to the ASP.NET Core Module (ANCM) for IIS. When an ASP.NET Core app is running on Windows, the binaries are locked so that they cannot be modified or replaced. You can stop the app by deploying an app offline file, but sometimes doing so is inconvenient or impossible. Shadow copying enables the app assemblies to be updated while the app is running by making a copy of the assemblies.
Starting in .NET 7 preview4 shadow copying is no longer experimental and will be fully supported. The feature is not intended to enable zero-downtime deployment, so its expected that IIS will still recycle the app, and some requests may get 503. We recommend using a pattern like blue-green deployments for zero-downtime deployments. Features like shadow copy help, but don't guarantee that you can do a zero-downtime deployment.
You can enable shadow copying by customizing the ANCM handler settings in web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<remove name="aspNetCore"/>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".logsstdout">
<handlerSettings>
<handlerSetting name="enableShadowCopy" value="true" />
<!-- Ensure that the IIS ApplicationPool identity has permission to this directory -->
<handlerSetting name="shadowCopyDirectory" value="../ShadowCopyDirectory/" />
</handlerSettings>
</aspNetCore>
</system.webServer>
</configuration>
@Rick-Anderson is this enough for you to add the section with the content in the issue, or do you prefer if I open a PR and make the changes myself (I'm sure my words will require some editing and all that too)
@Rick-Anderson is this enough for you to add the section with the content in the issue, or do you prefer if I open a PR and make the changes myself (I'm sure my words will require some editing and all that too)
Part of dotnet/aspnetcore#40961 to make ShadowCopy non experimental we should document this feature
New section content:
ShadowCopying
In .NET 6 we added experimental support for shadow copying app assemblies to the ASP.NET Core Module (ANCM) for IIS. When an ASP.NET Core app is running on Windows, the binaries are locked so that they cannot be modified or replaced. You can stop the app by deploying an app offline file, but sometimes doing so is inconvenient or impossible. Shadow copying enables the app assemblies to be updated while the app is running by making a copy of the assemblies.
Starting in .NET 7 preview4 shadow copying is no longer experimental and will be fully supported. The feature is not intended to enable zero-downtime deployment, so its expected that IIS will still recycle the app, and some requests may get 503. We recommend using a pattern like blue-green deployments for zero-downtime deployments. Features like shadow copy help, but don't guarantee that you can do a zero-downtime deployment.
You can enable shadow copying by customizing the ANCM handler settings in web.config:
EDIT by @Rick-Anderson
Update:
https://github.com/dotnet/aspnetcore/issues/40961
when this issue is resolved.Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
The text was updated successfully, but these errors were encountered: