2011-05-19 137 views
0

我可以更改訪問權限或編輯Global.asax中指定的值嗎?原因是我沒有源代碼,我們現在需要的唯一更改是更改Global.asax.vb文件中指定的連接字符串(數據庫)。從IIS更改Global.asax變量

謝謝!

回答

0

那麼,我能夠繞過這個問題。不是很優雅,可能會增加性能負載,但考慮到重新創建項目所涉及的工作是最簡單的。

我創建了另一個aspx頁面,並使用Page的Page_Load中的Application對象設置連接變量,然後對之前的默認文件執行response.redirect。我很幸運,因爲所有代碼都引用了應用程序對象,並且這只是在Global.asax中設置的 - 如果有任何直接指定連接字符串的代碼 - 那麼我就會被搞砸了!

唯一的開銷是Application_Start只會被調用一次 - 但每次發出請求時都會使用Page_Load覆蓋這些值。我願意做的一種折衷。

我不能同意以前的答案,因爲它提到了「理想」案例和最佳實踐 - 它沒有解決我的問題。如果以前的sql server可以完全降級,應該採用以前的解決方案。

謝謝!

4

通常,由於這個原因,連接字符串在Web.config中指定。如果這些值是硬編碼的,那麼除非您可以更改代碼,否則無法修改它們。您可以設置相同的數據庫(名稱,信譽)並更改一些配置設置,以便您的數據庫服務器解析爲相同的計算機名稱。這就是我所能想到的......

+0

他也可以使用RedGate的Reflector進行反編譯......這總是很有趣。由此產生的代碼不是很漂亮,但它是可讀和可編輯的。對我來說,如果這是一個我期望支持長期的應用程序,那麼只需將連接字符串放入它們所屬的web.config中即可。 – David 2011-05-19 19:18:45

+0

是的 - 以前的開發人員做了這一切:(反編譯給了我的代碼,但它不容易編譯 - 必須結構和做大量的管道工程.. – Sekhar 2011-05-19 19:20:32

+0

是的,我的「總是有趣」是舌頭在臉頰唯一的其他希望之光我能想到的是 - 如果服務器名稱是cnnection字符串中唯一更改的內容,但其他所有內容都保持不變,則可以在知道IP的情況下編輯hosts文件如果舊服務器名稱爲IP地址爲1.1.1.1的「Server1」,新的名稱爲IP地址爲1.1.1.2的「服務器2」,則可以通過指定「服務器1」位於IP 1.1.1.2來欺騙主機文件,或者將其設置爲DNS http ://www.bleepingcomputer.com/tutorials/tutorial51.html – David 2011-05-19 19:56:21