Asp.net

如何以程式方式將位置元素添加到 Web 配置?

  • October 31, 2011

我有一個從數據庫創建頁面路由的應用程序。我的整個站點都使用表單身份驗證進行保護,但我需要允許未經身份驗證的使用者訪問這些路由。我不想<location>對 web.config 中的路由標籤進行硬編碼,因為這將使我無法使用數據庫生成路由。

任何人都可以幫忙嗎?

感謝大家。我在這裡找到了答案

基本上它涉及為每條路由創建一個文件夾並將 web.config 文件放入其中以允許訪問。這種方法需要與將 RouteExistingFiles 設置為 false 相結合,這樣路由就不會與文件夾混淆。

與其使用強類型配置類,不如直接在 XML 中進行修改?

這是一個簡短的片段,用於展示我的一些程式碼中的概念,即在 machine.config 中進行性能 IIS 調整。不過,其他 XML 配置文件的主體是相同的。您只需要創建適當的 XPath 語句來執行您需要的操作。

XmlDocument machineConfigFile = new XmlDocument();
machineConfigFile.Load(MachineConfigPathString);

XmlNode autoConfig = machineConfigFile.SelectSingleNode(@"/configuration/system.web/processModel/@autoConfig");
autoConfig.Value = "false";

machineConfigFile.Save(MachineConfigPathString);

保存後,XmlDocument 對象將保留所有其他未觸及的文件節點。非常便利。它非常適合修改 machine.config。我能看到的唯一可能的問題是,當您將更改保存到 web.config 時,您的應用程序可能會重置。因此,請在安全的環境中使用您的 web.config 備份進行測試,以防萬一重置導致任何不希望的結果!

引用自:https://stackoverflow.com/questions/7714721