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

lev*_*evi 9 c# asp.net iis web-config url-rewriting

我想修改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>
Run Code Online (Sandbox Code Playgroud)

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

如何找到节点规则并将匹配网址更新为"new one",其中name ="partners";?

这是我对动态网址重写的想法.感谢您的任何其他方式.

Meh*_*ard 1

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

也许这个例子可以帮助你(只需connectionString逐渐改变值system.webServer等等。请告诉我它是否适合你addrules

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";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)