尝试以编程方式使HTTP响应标头过期

时间:2012-06-11 20:29:06

标签: silverlight iis-7 http-headers wmi cache-expiration

我们的团队正在构建一个带有Silverlight模块的C#项目。我们使用IIS 7部署到Windows 2008.我正在尝试以编程方式使与名为ClientBin的文件夹关联的HTTP响应标头立即过期。我知道如何通过IIS管理器手动执行此操作。 (基本上,我转到感兴趣的文件夹或文件的HTTP响应标题部分,然后我使用“设置公共标题....”立即过期。)但是,我们将重新部署到IIS的一些我希望确保以编程方式完成,因为一直保持重新配置是一件令人头疼的事。

我应该从项目的C#代码中执行此操作,还是使用WMI脚本执行此操作更好?

1 个答案:

答案 0 :(得分:0)

@kev和@ jeff-cuscutis提供了在ASP.NET应用程序的web.config文件中使用XML配置配置HTTP响应标头到期的方法

How to configure static content cache per folder and extension in IIS7?

您可以在根web.config中设置整个文件夹的特定缓存标头:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<!-- Note the use of the 'location' tag to specify which 

   folder this applies to-->

<location path="images">

<system.webServer>

  <staticContent>

    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00:00:15" />

  </staticContent>

</system.webServer>

</location>

</configuration>

或者您可以在内容文件夹中的web.config文件中指定这些:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

<staticContent>

  <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00:00:15" />

</staticContent>

</system.webServer>

</configuration>

我不知道有针对特定文件类型的内置机制。

您可以基于每个文件执行此操作。使用path属性包含文件名

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<location path="YourFileNameHere.xml">

    <system.webServer>

        <staticContent>

            <clientCache cacheControlMode="DisableCache" />

        </staticContent>

    </system.webServer>

</location>

</configuration>