1
Url書き換えルールでAppSettingsキーにアクセスしようとしていますが、アクセス方法がわかりません。誰か助けてくれますか? UrlRewriteルールUrl書き換えルールの特定のappsettingsキーにアクセス
Url書き換えルールでAppSettingsキーにアクセスしようとしていますが、アクセス方法がわかりません。誰か助けてくれますか? UrlRewriteルールUrl書き換えルールの特定のappsettingsキーにアクセス
でAPIUrlキーにアクセスしようとし
<appSettings>
<add key="APIUrl" value="https://www.x.com/api/{R:1}" />
</appSettings>
<system.webServer>
<rewrite>
<rules>
<rule name="ProxyApi" stopProcessing="true">
<match url="^api/?(.*)" />
<serverVariables>
<set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
<set name="HTTP_X_ORIGINAL_HOST" value="{HTTP_HOST}" />
</serverVariables>
<action type="Rewrite" url="{APIUrl}" />
</rule>
</rules>
</rewrite>
</system.webServer>
私は、AppSettingsは、他の場所であなたの設定ファイルで使用できないと思います。
私はMSBuildの使用してこの問題に対処するには、2つの方法で発見しました:設定ファイルを更新するMSBuild Community Tasks Projectから
使用xmlupdateタスクを。私の仕事はすでにこれを使っていたので、私が取った道だった。あなたの設定ファイルを更新する
<XmlUpdate
XPath="//rule[@name='ProxyApi']/action/@url"
XmlFileName="{Your Config File Location}"
Value="https://www.x.com/api/{R:1}" />
使用XslTransformation Task:次のようになります。このソリューションは組み込まれていますが、XSLの知識が必要です。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="//rule[@name='ProxyApi']/action/@url">
<xsl:attribute name="url">
<xsl:value-of select="'https://www.x.com/api/{R:1}'"/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
あなたが解決策を見つけるか:XSLはのようなものをlookeでしょうか?私は同じ状況にいる –