我正在將我們的託管環境遷移到全新的數據中心,並帶有新盒子和硬件和軟件......整個交易。將MachineKey從舊服務器上的iis6移植到新服務器上的iis7
我們的網站cookie使用machineKey進行加密,所以當我向我的域發出請求並將其指向新的Web服務器(通過覆蓋本地主機文件)時,出現錯誤,因爲Cookie無法解密,因爲機器密鑰不同。我想避免頻繁用戶第一次到達新服務器時可能遇到的任何問題。
據我所知,在這一點上,我認爲我需要在我們的新服務器上從我們當前的服務器設置相同的MachineKey。通過這種方式,當過去有cookie的訪問者到達我們新服務器提供的網站時,cookie將被加密的MachineKey正確解密,然後正確登錄。
我的問題是我在哪裏可以找到我的MachineKey值(在IIS 6 win2k3服務器中),以便我可以使用該值在我的新服務器上靜態設置它?我拉起了我的machine.config文件,但它沒有指定鍵值,它只指定了可以定義鍵值的configSection。它不在我的web.config中的應用程序或其他地方。
我在某些MachineKey和Web Garden上遇到了一些this great article問題(這可以解釋我在machineKey方面遇到的一些其他錯誤)。
更新 我回到了這個問題,我仍然面臨類似的問題。我有在IIS6服務器上自動生成的MachineKey,但我需要獲取確切的密鑰,以便我可以明確地設置它,而不是自動生成它。
任何幫助表示讚賞...
這是偉大的!不過那篇文章是用C#3.5編寫的,我被困在2.0中。我一直在嘗試使用反射來獲得這些內部屬性,並且還沒有運氣。 – MaseBase 2010-03-20 00:24:37
這對我來說是正確的答案,但我沒有選中標記來標記它!我花了一段時間纔得到反射代碼,因爲鏈接在.NET 3.5中,而且我在.NET 2.0中 - 不要使用反射,但它確實解決了我的問題! – MaseBase 2010-04-09 00:02:46