c# - 从代码 C# 更改 Web.Config 中的 URL 重写规则

标签 c# asp.net iis url-rewriting web-config

我想从 C# 代码修改重写规则。 Url 重写规则驻留在 web.config 文件中。

<system.webServer>
    <rewrite>
      <rules>
        <rule name="partners">
          <match url="^partners$" />
          <action type="Rewrite"
                  url="partners.aspx" />
        </rule>
        <rule name="news">
          <match url="^news$" />
          <action type="Rewrite"
                  url="news.aspx" />
        </rule>
        <rule name="projects">
          <match url="^projects$" />
          <action type="Rewrite"
                  url="projects.aspx" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

我想为前任改变。 <rule name="partners"> <match url="^partners$" /><rule name="partners"> <match url="^friendship/partners$" /> ,

我如何找到节点规则并将匹配 url 更新为“new one” where name = "partners";?

这是我对动态 url 重写的想法。感谢您提供任何其他方式。

最佳答案

我使用以下代码在我的 web.config 网站中更改 connectionString 的值:

也许这个例子可以帮助你(只需将值 connectionString 更改为 system.webServer 并将 add 更改为 rules 等。 请告诉我它是否适合你

XmlDocument myXmlDocument = new XmlDocument();
myXmlDocument.Load("../myPath/web.config");
foreach (XmlNode node in myXmlDocument["configuration"]["connectionStrings"])
{
    if (node.Name == "add")
    {
        if (node.Attributes.GetNamedItem("name").Value == "SCI2ConnectionString")
        {
            node.Attributes.GetNamedItem("connectionString").Value = "new value";
        }
    }
}

关于c# - 从代码 C# 更改 Web.Config 中的 URL 重写规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752279/

相关文章:

c# - 如何使用 2 个不同的模型创建 View 模型

asp.net - 使用服务器端分隔符时如何转义字符

c# - 可以在 web.config 中配置客户端证书设置吗

c# - 数据表到对象的转换

c# - 如何修复 SSIS 脚本任务中的 NuGet WinSCP.NET?

javascript - 通过复选框更改按钮的启用属性

c# - 将 ASP.NET 应用程序部署到 Web 服务器所需的最少文件

asp.net - Application_End 全局.asax

c# - 从 HttpListener 收到的 POST

c# - 路由室内认识步骤