使用web.config转换替换machinekey值

3

在我的web.config文件中,我有以下条目:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <machineKey validationKey="656....9CCF" decryptionKey="9020.....659" validation="SHA1" decryption="AES" />
    </system.web>
</configuration>

我需要使用web config transform方法在特定的Web发布配置文件中交换validationKeydecryptionKey值。然而,我遇到了困难,因为我找不到任何可以实现更多功能的示例,比如基本连接字符串交换等。

是否可能使用配置转换实际修改文件的这部分内容?

到目前为止,我的尝试在预览转换时未被识别...

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <system.web>
        <machineKey validationKey="AE3E7...FAB49" decryptionKey="ADS32....32423twe" xdt:Transform="Replace" xdt:Locator="Match(validationKey)" />
    </system.web>
</configuration>
1个回答

9
您可以使用类似以下的内容:

您可以使用类似以下的内容:

<machineKey validationKey="AE3E7...FAB49" decryptionKey="ADS32....32423twe" 
         xdt:Transform="SetAttributes" xdt:Locator="XPath(../machineKey)"/>

请注意,我将xdt:Transform替换为"SetAttributes"而不是"Replace"。
要了解更多,请参阅msdn页面
您也可以在此处测试转换。

非常完美地工作。谢谢! - EvilDr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接