【茶包射手專欄】aspnet_regiis加密失敗的還原

同事遇到狀況,用aspnet_regiis加密web.config的ConnectionString區段,過程發生錯誤(錯誤訊息不可考),之後ASP.NET程式不管點選任何ASPX連結都呈現無法顯示(Hang住遲無回應)。

我找到Global.asax裡有段Application_OnStart涉及資料庫存取,懷疑它是導致所有ASPX都癱瘓的源頭。先跳過其中的邏輯,就進入下一關,得到以下訊息:

無法使用提供者 'RsaProtectedConfigurationProvider' 解密。來自這個提供者的錯誤訊息為: 無法開啟 RSA 金鑰容器。
Failed to decrypt using provider 'RsaProtectedConfigurationProvider'. Error message from the provider: The RSA key container could not be opened.

猜想這與先前加密設定過程出錯有關,我的計劃是先退回到原本設定前的狀態再做打算。決定砍掉重練---用aspnet_regiis -u / aspnet_regiis -i 重新註冊ASP.NET,或許可以洗掉不好的記憶(與開大水沖澡有異曲同工之妙)。

不幸地,解除並重新註冊ASP.NET並沒能解決問題。再追了一下,發現\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config的檔案時間是今天寫入的,意思是aspnet_regiis -i時並不會還原它到預設狀態。此時,我發現同一目錄下有個web.config.default,檔案大小與內容與web.config相近,八成是微軟留下來的還原用滴,那我就不客氣了,用web.config.default覆寫web.config,問題排除,收隊回家!

Published 10 November 2009 09:14 PM 由 Jeffrey


意見

# Will 保哥 said on 10 November, 2009 08:44 AM

怪了,什麼情況會更動到 \Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config 這個系統預設的設定檔??

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 

請輸入以上的數字:

搜尋

Go

<November 2009>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication