2013-07-30 60 views
0

是否可以將參數或變量放入MVC 4 Web配置文件,以便我可以在運行時或發佈後將調試模式設置爲true:false?以編程方式切換調試模式

或者我可以在代碼中執行嗎?

+0

什麼*確切*你的意思是「調試模式」?如果您的意思是啓用調試符號/禁用編譯器優化,則不會。如果你的意思是掛鉤到VS調試器實例,那麼有時候。如果您打算開啓某些故障排除功能(如自定義錯誤消息),那麼是的。 –

+0

是的,獲取自定義錯誤消息和錯誤堆棧跟蹤。管理員需要什麼,但用戶不需要看到 – Goran303

+0

,你的意思是'#if debug' /'#endif'?以類似於#區域的方式添加到代碼中 – Sayse

回答

2

如果您的IIS服務器的權限設置爲允許從您的站點代碼更改web.config,則可以相對容易地執行此操作。您可以使用XML API來更改Web.config。

注:

  • 它是壞主意,讓網站的代碼進行修改配置/二進制文件。確保你理解的安全含義
  • 你的網站將重新啓動對web.config的任何更改,對於普通站點(無狀態,所有日期都在某種外部存儲/數據庫中),它有點不錯,但如果你有像內存中的會話狀態,這可能是痛苦的。即使是無狀態服務器也可能需要大量時間才能開始 - 要小心。

你應該考慮其他的方法(即只需登錄和讀取日誌服務器端)開始,服務器的配置玩,如果他們真正看到真實的用戶流量,尤其是互聯網流量前。

+0

+1對安全性的影響 – Sayse

+0

我明白了,謝謝你的警告(+1)。我會在開發期間保留它。任何想法如何實現XML到Web配置? – Goran303

+0

@ Goran303 - 有大量的「如何讀取XML,更改屬性值並將其保存」樣本...嘗試搜索。如果你找不到一個 - 隨意問個別問題...... –

相關問題