Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从代码C更改Web.Config中的URL重写规则#_C#_Asp.net_Iis_Url Rewriting_Web Config - Fatal编程技术网

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

C# 从代码C更改Web.Config中的URL重写规则#,c#,asp.net,iis,url-rewriting,web-config,C#,Asp.net,Iis,Url Rewriting,Web Config,我想修改C代码中的重写规则。Url重写规则位于web.config文件中。 我想将ex.更改为 如何查找节点规则并将匹配url更新为“new one”,其中name=“partners” 这是我对动态url重写的想法。如果您有其他方法,谢谢。我使用以下代码更改我的web.config网站中connectionString的值: 可能此示例可以帮助您(只需通过system.webServer和add通过规则等更改值connectionString)。。 请告诉我它是否适合你 XmlDocum

我想修改C代码中的重写规则。Url重写规则位于web.config文件中。


我想将ex.
更改为

如何查找节点规则并将匹配url更新为“new one”,其中name=“partners”


这是我对动态url重写的想法。如果您有其他方法,谢谢。

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

可能此示例可以帮助您(只需通过
system.webServer
add
通过
规则等更改值
connectionString
)。。 请告诉我它是否适合你

XmlDocument myXmlDocument=newxmldocument();
myXmlDocument.Load(“../myPath/web.config”);
foreach(myXmlDocument[“配置”][“连接字符串”]中的XmlNode节点)
{
如果(node.Name==“添加”)
{
if(node.Attributes.GetNamedItem(“name”).Value==“SCI2ConnectionString”)
{
node.Attributes.GetNamedItem(“connectionString”).Value=“新值”;
}
}
}

步骤1:-下载URLRewit2.exe

第2步:-在web.config中编写逻辑

<system.webServer>
  <rewrite>
    <providers>
      <provider name="FileMap" type="FileMapProvider, Microsoft.Web.Iis.Rewrite.Providers, Version=7.1.761.0, Culture=neutral, PublicKeyToken=0545b0627da60a5f">
        <settings>
          <add key="FilePath" value="D:\j\branches\JuzBuzz\App_Data\rewriteurl.txt" />
          <add key="IgnoreCase" value="1" />
          <add key="Separator" value="," />
        </settings>
      </provider>
    </providers>
    <rules>
      <rule name="FileMapProviderTest" stopProcessing="true">
        <match url="(.*)" ignoreCase="false" />
        <conditions logicalGrouping="MatchAll">
          <add input="{FileMap:{R:1}}" pattern="(.+)" ignoreCase="false" />
        </conditions>
        <action type="Rewrite" url="{C:1}" appendQueryString="false" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

第3步:-将你的.txt文件放在App_Code文件夹中,或者你在web.config中给出地址的另一个地方,txt文件将包含如下数据

**技术,专家/搜索专家。aspx?CatId=1


辅导个人成长,专家/搜索专家。aspx?CatId=2**etc**

Microsoft有Microsoft.Web.Administration.dll可帮助您,但需要管理员权限才能执行

它非常适合WinForms应用程序(如IIS管理器)控制IIS服务器,但也可以用于其他类型的应用程序


我有一个个人项目,它是一个自定义MWA实现,适用于某些非管理员情况。如果您对此感兴趣,请告诉我。

您想从同一web应用程序或其他应用程序中修改这些规则吗?您是否知道,如果您修改web.config,应用程序将在同一个应用程序…你说这是不可能的?谢谢,我可以在任何页面事件中配置Web.Config?例如,page_Init()?是的,但这会杀死你的应用程序。更好的解决方案是更改你的应用程序,使其能够接受可变URL,例如,使用将所有参数传递给你的应用程序。修改web.config有很多缺点,如果你有很多重写,你最终可能会遇到缩放问题。这不是一种合理的方法,因为网站每次重新保存web.config文件时,我都会关机是的,这将意味着关闭你的应用程序网站。每次更改web.config时,它都会重新启动网站。对不起,我会检查是否有其他解决方案;-)考虑此解决方案。我的另一个问题是:哇,太好了!谢谢你;-)我同意这是一个很好的解决方案,有一篇好文章你好,你能更清楚地了解第三步吗。有什么例子吗
<system.webServer>
  <rewrite>
    <providers>
      <provider name="FileMap" type="FileMapProvider, Microsoft.Web.Iis.Rewrite.Providers, Version=7.1.761.0, Culture=neutral, PublicKeyToken=0545b0627da60a5f">
        <settings>
          <add key="FilePath" value="D:\j\branches\JuzBuzz\App_Data\rewriteurl.txt" />
          <add key="IgnoreCase" value="1" />
          <add key="Separator" value="," />
        </settings>
      </provider>
    </providers>
    <rules>
      <rule name="FileMapProviderTest" stopProcessing="true">
        <match url="(.*)" ignoreCase="false" />
        <conditions logicalGrouping="MatchAll">
          <add input="{FileMap:{R:1}}" pattern="(.+)" ignoreCase="false" />
        </conditions>
        <action type="Rewrite" url="{C:1}" appendQueryString="false" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>