簡體   English   中英

保護IIS文件夾不被WebDeploy刪除

[英]Protect IIS folder from being deleted by WebDeploy

我的Web應用程序上有一個文件夾,用於存儲用戶上傳的內容(即個人資料圖片)。

當我使用WebDeploy時,有一個“保留額外的文件(不要刪除)”選項,勾選該選項可確保不刪除個人資料圖片。

我正在尋找的是一種確保即使未選中某個文件夾也可以安全刪除的方法。 原因是我不希望其他開發人員將來意外禁用該功能。 還是我。

有任何想法嗎? 我在這里看到了一些類似的問題,但似乎與我正在使用的Visual Studio 2010無關。

(我假設您正在使用帶有Azure SDK或Visual Studio 2012 RTM的Visual Studio 2010中的發布配置文件。如果不是,則在項目根目錄中創建一個名為ProjectName.wpp.targets的MSBuild文件,並將內容放入其中代替)

您可以通過在發布配置文件中設置<SkipExtraFilesOnServer>true</SkipExtraFilesOnServer>來禁用所有形式的刪除(相當於您提到的復選框)。

要跳過特定目錄,對此問題進行注釋意味着您可以使用以下語法:

<ItemGroup>
  <ExcludeFoldersFromDeployment Include="FolderName" />
</ItemGroup>

但是我以前從未見過,也沒有測試過。 失敗的話,您可以指定一個明確的跳過規則。 在這里跳過“ FolderName”-請記住, AbsolutePath是一個正則表達式:

<MsDeploySkipRules Include="SkipFolderName">
  <SkipAction>Delete</SkipAction>
  <ObjectName>dirPath</ObjectName>
  <AbsolutePath>FolderName$</AbsolutePath>
</MsDeploySkipRules>

注意:某些情況下 ,除非您將UseMsDeployExe設置為true否則在使用Visual Studio時跳過規則不起作用。

您可以使用msdeploy.exe.configsettings文件在目標計算機上設置特定規則,同一文件夾中也有一個msdeploy.exe.configsettings.example文件。 該文件位於%program files%\\ IIS \\ Microsoft Web Deploy-文件夾中,請參閱Web部署規則

您可以在此處設置Rule和skipDirectives並啟用它們是否為默認值,以便獲得預期的默認行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM