You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
84 KiB
HTML

12 months ago
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-deploy-iis" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.0.0">
<title data-rh="true">34.1 在 IIS 部署 | Furion</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="http://furion.baiqian.ltd/docs/deploy-iis"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="34.1 在 IIS 部署 | Furion"><meta data-rh="true" name="description" content="如果需要精简发布后的文件,也就是删除不必要的文件夹,可以编辑 Web 项目的 .csproj 并添加 en-US"><meta data-rh="true" property="og:description" content="如果需要精简发布后的文件,也就是删除不必要的文件夹,可以编辑 Web 项目的 .csproj 并添加 en-US"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="http://furion.baiqian.ltd/docs/deploy-iis"><link data-rh="true" rel="alternate" href="http://furion.baiqian.ltd/docs/deploy-iis" hreflang="en"><link data-rh="true" rel="alternate" href="http://furion.baiqian.ltd/docs/deploy-iis" hreflang="x-default"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Furion RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Furion Atom Feed"><link rel="stylesheet" href="/assets/css/styles.3f87a095.css">
<script src="/assets/js/runtime~main.89709a83.js" defer="defer"></script>
<script src="/assets/js/main.10e5dc01.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(n,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus"><div class="floatbar_hUWl"><div class="qrcode_sWwE"><img title="微信扫码关注 Furion 官方公众号" src="/img/weixin_qrcode.jpg" style="display:block"><div>❤️ 关注 Furion 微信公众号有惊喜哦!</div></div><div style="display:flex;flex-direction:row-reverse;align-items:flex-start"><div class="title_SD0k">🫠 遇到问题了</div><div class="extend__5i1"><a class="item_Y35a" href="/docs/subscribe"><div style="flex:1"><div class="itemTitle_If_T">⭐️ VIP 服务 ⭐️</div><div class="itemDesc_dp7r">仅需 499 元/年,尊享 365 天项目无忧</div></div><div class="jiantou_mV_o"></div></a><div class="item_Y35a"><div style="flex:1"><div class="itemTitle_If_T">问题反馈</div><div class="itemDesc_dp7r">到 Furion 开源仓库反馈</div></div><div class="jiantou_mV_o"></div></div></div></div></div><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="announcementBar_mb4j" style="background-color:#4623d9;color:yellow" role="banner"><div class="content_knG7 announcementBarContent_xLdY">⭐️ 开通 VIP 服务仅需 499 元/年,尊享 365 天项目无忧 <a href="/docs/subscribe" style="background-color:rgb(199, 29, 36);color:#ffffff;padding:1px 10px;border-radius:3px;text-decoration:none;display:inline-block;margin:0 5px;font-size:12px;cursor:pointer;">立即开通</a>⭐️</div></div><nav aria-label="Main" class="navbar navbar--fixed-top navbarHideable_m1mJ"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/furionlogo.png" alt="Furion Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/furionlogo.png" alt="Furion Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Furion</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/category/appendix">文档</a><a class="navbar__item navbar__link" href="/docs/global/app">静态类</a><a class="navbar__item navbar__link" href="/docs/settings/appsettings">配置</a><a class="navbar__item navbar__link" href="/blog">博客</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">更新日志</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/upgrade">📝 查看日志v4.9.1.7</a></li><li><a class="dropdown__link" href="/docs/target">🚀 路线图</a></li></ul></div><a href="http://furion.baiqian.ltd/api/api" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">API<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></div><div class="navbar__items navbar__it
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="3411-发布网站">34.1.1 发布网站<a href="#3411-发布网站" class="hash-link" aria-label="Direct link to 34.1.1 发布网站" title="Direct link to 34.1.1 发布网站"></a></h2>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34111-选择启动项发布">34.1.1.1 选择启动项发布<a href="#34111-选择启动项发布" class="hash-link" aria-label="Direct link to 34.1.1.1 选择启动项发布" title="Direct link to 34.1.1.1 选择启动项发布"></a></h3>
<img src="/img/dp1.png">
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34112-选择发布到文件夹">34.1.1.2 选择发布到文件夹<a href="#34112-选择发布到文件夹" class="hash-link" aria-label="Direct link to 34.1.1.2 选择发布到文件夹" title="Direct link to 34.1.1.2 选择发布到文件夹"></a></h3>
<img src="/img/dy2.png">
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34113-配置发布后路径">34.1.1.3 配置发布后路径<a href="#34113-配置发布后路径" class="hash-link" aria-label="Direct link to 34.1.1.3 配置发布后路径" title="Direct link to 34.1.1.3 配置发布后路径"></a></h3>
<img src="/img/dp3.png">
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34114-点击发布">34.1.1.4 点击发布<a href="#34114-点击发布" class="hash-link" aria-label="Direct link to 34.1.1.4 点击发布" title="Direct link to 34.1.1.4 点击发布"></a></h3>
<img src="/img/dp4.png">
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="3412-服务器环境配置">34.1.2 服务器环境配置<a href="#3412-服务器环境配置" class="hash-link" aria-label="Direct link to 34.1.2 服务器环境配置" title="Direct link to 34.1.2 服务器环境配置"></a></h2>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34121-第一步">34.1.2.1 第一步<a href="#34121-第一步" class="hash-link" aria-label="Direct link to 34.1.2.1 第一步" title="Direct link to 34.1.2.1 第一步"></a></h3>
<p>安装.NET Core 运行时捆绑包:<a href="https://dotnet.microsoft.com/permalink/dotnetcore-current-windows-runtime-bundle-installer" target="_blank" rel="noopener noreferrer">点击下载</a></p>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34122-第二步命令">34.1.2.2 第二步(命令)<a href="#34122-第二步命令" class="hash-link" aria-label="Direct link to 34.1.2.2 第二步(命令)" title="Direct link to 34.1.2.2 第二步(命令)"></a></h3>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm"><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">net stop was /y</span></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34123-第三步命令">34.1.2.3 第三步(命令)<a href="#34123-第三步命令" class="hash-link" aria-label="Direct link to 34.1.2.3 第三步(命令)" title="Direct link to 34.1.2.3 第三步(命令)"></a></h3>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm"><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">net start w3svc</span></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34124-第四步命令">34.1.2.4 第四步(命令)<a href="#34124-第四步命令" class="hash-link" aria-label="Direct link to 34.1.2.4 第四步(命令)" title="Direct link to 34.1.2.4 第四步(命令)"></a></h3>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm"><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">set ASPNETCORE_ENVIRONMENT=Production</span></span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="3413-部署到-iis">34.1.3 部署到 IIS<a href="#3413-部署到-iis" class="hash-link" aria-label="Direct link to 34.1.3 部署到 IIS" title="Direct link to 34.1.3 部署到 IIS"></a></h2>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34131-添加新网站">34.1.3.1 添加新网站<a href="#34131-添加新网站" class="hash-link" aria-label="Direct link to 34.1.3.1 添加新网站" title="Direct link to 34.1.3.1 添加新网站"></a></h3>
<img src="/img/ds1.png">
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34132-配置网站信息">34.1.3.2 配置网站信息<a href="#34132-配置网站信息" class="hash-link" aria-label="Direct link to 34.1.3.2 配置网站信息" title="Direct link to 34.1.3.2 配置网站信息"></a></h3>
<img src="/img/ds2.png">
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34133-配置应用程序池">34.1.3.3 配置应用程序池<a href="#34133-配置应用程序池" class="hash-link" aria-label="Direct link to 34.1.3.3 配置应用程序池" title="Direct link to 34.1.3.3 配置应用程序池"></a></h3>
<img src="/img/ds3.png">
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34134-设置为-非托管">34.1.3.4 设置为 <code>非托管</code><a href="#34134-设置为-非托管" class="hash-link" aria-label="Direct link to 34134-设置为-非托管" title="Direct link to 34134-设置为-非托管"></a></h3>
<img src="/img/ds4.png">
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34135-重启网站">34.1.3.5 重启网站<a href="#34135-重启网站" class="hash-link" aria-label="Direct link to 34.1.3.5 重启网站" title="Direct link to 34.1.3.5 重启网站"></a></h3>
<p>只需重启网站或应用程序池即可。</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="3414-常见问题">34.1.4 常见问题<a href="#3414-常见问题" class="hash-link" aria-label="Direct link to 34.1.4 常见问题" title="Direct link to 34.1.4 常见问题"></a></h2>
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34141-405-状态码不支持-putdelete-请求">34.1.4.1 405 状态码,不支持 <code>PUTDELETE</code> 请求<a href="#34141-405-状态码不支持-putdelete-请求" class="hash-link" aria-label="Direct link to 34141-405-状态码不支持-putdelete-请求" title="Direct link to 34141-405-状态码不支持-putdelete-请求"></a></h3>
<p>默认情况下,<code>IIS</code>拒绝 <code>PUT</code><code>DELETE</code> 请求,原因为 <code>IIS</code> 默认注册了一个名为 <code>WebDAVModule</code> 的自定义 <code>HttpModule</code> 导致的。</p>
<p>解决该问题,只需要在 <code>web.config</code> 移除即可:</p>
<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">configuration</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">system.webServer</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">modules</span><span class="token tag" style="color:rgb(255, 85, 114)"> </span><span class="token tag attr-name" style="color:rgb(255, 203, 107)">runAllManagedModulesForAllRequests</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(199, 146, 234)">=</span><span class="token tag attr-value punctuation" style="color:rgb(199, 146, 234)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 85, 114)">true</span><span class="token tag attr-value punctuation" style="color:rgb(199, 146, 234)">&quot;</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">remove</span><span class="token tag" style="color:rgb(255, 85, 114)"> </span><span class="token tag attr-name" style="color:rgb(255, 203, 107)">name</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(199, 146, 234)">=</span><span class="token tag attr-value punctuation" style="color:rgb(199, 146, 234)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 85, 114)">webDAVModule</span><span class="token tag attr-value punctuation" style="color:rgb(199, 146, 234)">&quot;</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">/&gt;</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;/</span><span class="token tag" style="color:rgb(255, 85, 114)">modules</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#bfc7d5"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;/</span><span class="token tag" style="color:rgb(255, 85, 114)">system.webServer</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;/</span><span class="token tag" style="color:rgb(255, 85, 114)">configuration</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to c
<p>微软官方文档:<a href="https://docs.microsoft.com/zh-cn/troubleshoot/developer/webapps/iis/health-diagnostic-performance/http-error-405-website" target="_blank" rel="noopener noreferrer">https://docs.microsoft.com/zh-cn/troubleshoot/developer/webapps/iis/health-diagnostic-performance/http-error-405-website</a></p>
<img src="/img/iis5.png">
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34142-websocket-signalr-连接报错">34.1.4.2 <code>WebSocket</code>/ <code>SignalR</code> 连接报错<a href="#34142-websocket-signalr-连接报错" class="hash-link" aria-label="Direct link to 34142-websocket-signalr-连接报错" title="Direct link to 34142-websocket-signalr-连接报错"></a></h3>
<p>如果项目部署在 <code>IIS</code> 中出现 <code>WebSoket</code>/<code>SignalR</code> 不能连接或连接失败等问题,请确保 <code>IIS</code> 服务中的 <code>WebSocket 协议</code> 是勾选状态</p>
<img src="/img/iis2.png">
<h3 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="34143-部署之后缺失-api-ms-winxxxxdll-问题">34.1.4.3 部署之后缺失 <code>api-ms-win.xxxx.dll</code> 问题<a href="#34143-部署之后缺失-api-ms-winxxxxdll-问题" class="hash-link" aria-label="Direct link to 34143-部署之后缺失-api-ms-winxxxxdll-问题" title="Direct link to 34143-部署之后缺失-api-ms-winxxxxdll-问题"></a></h3>
<p>时候将发布文件发布到服务器后,出现丢失 <code>api.ms-win.xxxx.dll</code> 文件,这时只需要重新发布并选择服务器特定的架构即可。</p>
<img src="/img/iis4.jpg">
<img src="/img/iis3.png">
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="3415-iis-回收问题和配置">34.1.5 <code>IIS</code> 回收问题和配置<a href="#3415-iis-回收问题和配置" class="hash-link" aria-label="Direct link to 3415-iis-回收问题和配置" title="Direct link to 3415-iis-回收问题和配置"></a></h2>
<p>通过 <code>IIS</code> 部署 <code>.NET Core</code> 应用程序,如果启动了系统日志,就会发现经常出现 <code>Application is shutting down...</code> 的日志,代表 <code>IIS</code> 回收了应用程序池。</p>
<p>对于一个长期在线的网站来说,这是非常不合理的,所以我们可以通过以下配置让 <code>IIS</code> 进行长时间不访问便回收的机制。</p>
<hr>
<p>配置步骤如下:</p>
<ol>
<li>打开 <code>IIS</code> 并点击左侧树根节点(计算机名称)并点击右侧的 <code>Configuration Editor</code>(配置编辑器)</li>
</ol>
<img src="/img/iis6.png">
<ol start="2">
<li><code>Section</code>(节)选择 <code>system.applicationHost/applicationPools</code> 并设置 <code>startMode</code><code>AlwaysRunning</code>,之后点击 <code>Apply</code> 保存。</li>
</ol>
<img src="/img/iis7.png">
<ol start="3">
<li>点击左侧树根节点(计算机名称)下的 <code>Application Pools</code> 并点击最右侧的 <code>Set Appliation Pool Defaults...</code>(设置应用程序池默认配置...</li>
</ol>
<img src="/img/iis8.png">
<ol start="4">
<li>设置 <code>Idle Time-out (minutes)</code>(闲置超时(分钟)为 <code>0</code></li>
</ol>
<img src="/img/iis9.png">
<p>这样即可解决 <code>IIS</code> 回收问题。</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="3416-卷影无占用复制发布替换">34.1.6 卷影(无占用)复制发布替<a href="#3416-卷影无占用复制发布替换" class="hash-link" aria-label="Direct link to 34.1.6 卷影(无占用)复制发布替换" title="Direct link to 34.1.6 卷影(无占用)复制发布替换"></a></h2>
<p>正常情况下如果我们代码重新发布后替换 <code>IIS</code> 中的文件,这时候会出现文件占用无法进行替换,过去运维人员都是先停止站点后替换再启动。但我们也可以配置 <code>web.config</code> 文件启用卷影复制模式实现类似<strong>热更新</strong>操作,如:</p>
<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm"><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token prolog">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;</span><span class="token plain"></span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">configuration</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> </span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic">&lt;!-- To customize the asp.net core module uncomment and edit the following section.</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"> For more info see https://go.microsoft.com/fwlink/?linkid=838655 --&gt;</span><span class="token plain"></span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain" style="display:inline-block"></span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">system.webServer</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">handlers</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> </span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">remove</span><span class="token tag" style="color:rgb(255, 85, 114)"> </span><span class="token tag attr-name" style="color:rgb(255, 203, 107)">name</span><span class="token tag attr-value punctuation attr-equals" style="color:rgb(199, 146, 234)">=</span><span class="token tag attr-value punctuation" style="color:rgb(199, 146, 234)">&quot;</span><span class="token tag attr-value" style="color:rgb(255, 85, 114)">aspNetCore</span><span class="token tag attr-value punctuation" style="color:rgb(199, 146, 234)">&quot;</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">/&gt;</span><span class="token plain"></span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> </span><spa
<p>关于卷影复制更多知识可查看以下文档:</p>
<ul>
<li><a href="https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-net-6-preview-3/#shadow-copying-in-iis" target="_blank" rel="noopener noreferrer">https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-net-6-preview-3/#shadow-copying-in-iis</a></li>
<li><a href="https://learn.microsoft.com/zh-cn/dotnet/framework/app-domains/shadow-copy-assemblies" target="_blank" rel="noopener noreferrer">https://learn.microsoft.com/zh-cn/dotnet/framework/app-domains/shadow-copy-assemblies</a></li>
</ul>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="3417-反馈与建议">34.1.7 反馈与建议<a href="#3417-反馈与建议" class="hash-link" aria-label="Direct link to 34.1.7 反馈与建议" title="Direct link to 34.1.7 反馈与建议"></a></h2>
<div class="theme-admonition theme-admonition-note admonition_xJq3 alert alert--secondary"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>与我们交流</div><div class="admonitionContent_BuS1"><p>给 Furion 提 <a href="https://gitee.com/dotnetchina/Furion/issues/new?issue" target="_blank" rel="noopener noreferrer">Issue</a></p></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><a href="http://github.crmeb.net/u/furion" target="_blank" style="display:block;margin-bottom:20px;text-decoration:none;position:relative;border-radius:5px;overflow:hidden;color:#25c2a0" title="CRMEB 专注开源电商系统研发"><img src="/img/crmeb-spec.jpg" style="display:block;pointer-events:none;max-width:100%"><span style="position:absolute;display:block;right:0;bottom:0;z-index:5;font-size:12px;background-color:rgba(0,0,0,0.8);padding:0 5px">特别赞助</span></a><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a class="ass_kwc6" style="margin:0;margin-bottom:10px;height:80px;z-index:999" href="/docs/subscribe"><div class="title_MSGy">开通 VIP 服务尊享一对一技术指导</div><div class="progress_esN_"><div class="number_F0eG">344</div><div class="percent_Dln9"><div class="current_QYTp" style="width:34.4%"></div></div><div class="number_F0eG">1000</div></div></a><a href="https://gitee.com/dotnetchina/Furion/tree/v4/handbook/docs/deploy-iis.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_VsjB"><div class="donate_FEDP" style="margin:0;margin-bottom:10px;border:2px solid #ffb02e;margin-top:-4px" title="您的支持是我们坚持完善下去的动力!"><div style="position:relative;margin-right:9px"><img src="/img/donateme.png" style="height:100%;max-height:100%;display:block;min-width:70px" alt="赞助 Furion"><span style="position:absolute;top:25px;left:0;right:0;font-size:12px;z-index:1;text-align:center;color:white;font-weight:bold;background-color:rgba(0, 0, 0, 0.4)">查看大图</span></div><div style="display:flex;flex:1;flex-direction:column;justify-content:space-between;padding:5px 0 5px 0"><h3 style="font-weight:500;font-size:17px;margin:4px 0 0 0;text-align:left;background:linear-gradient(to right, red, blue);background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap;cursor:pointer">谢谢您对 Furion 的认可!</h3><div style="display:flex;justify-content:space-between;white-space:nowrap;margin-top:10px"><span style="font-size:12px;color:#ccc">微信ibaiqian</span><a href="https://gitee.com/dotnetchina/Furion" style="margin-right:6px" target="_blank"><img src="https://gitee.com/dotnetchina/Furion/badge/star.svg?theme=white" alt="star"></a></div></div></div><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2023-11-22T14:36:24.000Z">Nov 22, 2023</time></b> by <b>百小僧</b></span></div></div><a style="display:flex;width:100%;box-sizing:border-box;align-items:center;justify-content:space-between;padding-left:5px" title="⭐️ 开通 VIP 服务仅需 499 元/年,尊享 365 天项目无忧2323 ⭐️" href="/docs/subscribe"><div style="flex:1;margin:5px 5px 5px 0;user-s
</body>
</html>