2013-04-30 44 views
2

我在每個服務器上都有2個Web服務器(Windows 2012)和一個網站(ASP.NET MVC 4)。爲了確保ASP.NET加密正常工作我做了以下內容:在部署之間不保留手動生成的MachineKey

  • 部署使用八達通
  • 應用到兩個服務器
  • 走到第一個服務器,選擇網站,點擊機按鍵圖標,選中所有複選框,點擊生成密鑰,然後點擊應用
  • 然後我複製生成的密鑰到其他機器上

這個工作,但只有等到下一次部署。部署似乎將機器密鑰值重置爲默認值。部署過程非常簡單:

  • 停止應用程序池
  • 刪除應用程序文件夾的內容
  • 複製新文件到app文件夾
  • 啓動應用程序池

作爲一種解決方法,我在web.config中有鍵,但由於顯而易見的原因,這遠遠不夠完美。

任何想法爲什麼值被重置?

感謝

帕維爾

回答

1

哪裏是IIS把機鍵?進入web.config或進入machine.config?

另請嘗試將八達通變量OctopusNotAWebSite設置爲true,然後手動執行IIS重新指向。八達通可以以某種方式重置IIS應用程序。

1

@JasonStangroome爲我解決了它。我只是忘了IIS管理器修改web.config,這就是爲什麼自定義值在每次部署後都會消失。