【问题标题】:Adding static content in web config transform在 Web 配置转换中添加静态内容
【发布时间】:2017-10-17 05:12:43
【问题描述】:

我有一个用于本地测试的 Web.Config 文件,并且我有一个我想在其中包含静态内容的 web.Release.Deploy.config 转换。 我对网络配置转换不是很熟悉。我已将此添加到 web.release.deploy.config。

 <system.webServer xdt:Transform="Insert">
    <staticContent>
      <mimeMap fileExtension=".nupkg" mimeType="application/zip" />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
    </staticContent>
  </system.webServer>

我应该为此添加规则还是语法看起来正确?

还是应该看起来像这样,因为 system.webserver 元素不是仅插入静态内容?

 <staticContent xdt:Transform="Insert">
      <mimeMap fileExtension=".nupkg" mimeType="application/zip" />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
    </staticContent>

【问题讨论】:

    标签: .net web-config-transform


    【解决方案1】:

    我知道这是旧的,但这就是我在转换中添加额外文件扩展的方式:

    <staticContent xdt:Transform="InsertIfMissing">
      <remove fileExtension=".css"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
      <mimeMap fileExtension=".css" mimeType="text/css"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
      <remove fileExtension=".js"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
      <mimeMap fileExtension=".js" mimeType="text/javascript"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
      <remove fileExtension=".jpg"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
      <mimeMap fileExtension=".jpg" mimeType="image/jpeg"  xdt:Transform="InsertIfMissing"  xdt:Locator="Match(fileExtension)" />
      <remove fileExtension=".png"  xdt:Transform="InsertIfMissing"  xdt:Locator="Match(fileExtension)" />
      <mimeMap fileExtension=".png" mimeType="image/png"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />
    </staticContent>
    

    这对我有用,因为我的初始 web.config 已经包含一些现有值:

    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="31.00:00:00" />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <remove fileExtension=".woff2" />
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
    </staticContent>
    

    @AsierVillanueva 的示例,因为我无法在评论中格式化:

    <mimeMap fileExtension=".css" mimeType="text/css"  xdt:Transform="Remove" xdt:Locator="Match(fileExtension)" />  
    <remove fileExtension=".css"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />  
    <mimeMap fileExtension=".css" mimeType="text/css"  xdt:Transform="InsertIfMissing" xdt:Locator="Match(fileExtension)" />  
    

    【讨论】:

    • ¿但是如果 web.config 已经包含 mimemap 的条目但没有 remove 的条目会发生什么?
    • 您可以在使用xdt:Transform="InsertIfMissing" @AsierVillanueva 之前使用xdt:Transform="Remove" 清除不匹配的mimeMap
    【解决方案2】:

    对我有用的答案是这个。

     <staticContent xdt:Transform="InsertIfMissing">
          <mimeMap fileExtension=".nupkg" mimeType="application/zip" />
          <remove fileExtension=".woff" />
          <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
          <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
        </staticContent>
    

    这很有效,因为插入是在静态内容标签上。希望这可以帮助。

    【讨论】:

      猜你喜欢
      • 2017-03-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 2018-03-07
      • 2012-06-17
      • 2017-03-25
      相关资源
      最近更新 更多