我想运行一个控制台应用程序,它在所有输出缓存页面上调用一个网站,以便为用户缓存所有缓存的页面。使用浏览器时,页面缓存正确,但我希望能够运行一个为用户缓存所有页面的功能。
我正在使用new System.Net.WebClient().DownloadString("http://url");
,但使用此调用时页面不会缓存。
缓存属性
[ChildActionOutputCache(("CacheAll"), Location = OutputCacheLocation.Server)]
属性函数
public class ChildActionOutputCacheAttribute : OutputCacheAttribute
{
public ChildActionOutputCacheAttribute(string cacheProfile)
{
var settings = (OutputCacheSettingsSection)WebConfigurationManager.GetSection("system.web/caching/outputCacheSettings");
var profile = settings.OutputCacheProfiles[cacheProfile];
Duration = profile.Duration;
VaryByParam = profile.VaryByParam;
VaryByCustom = profile.VaryByCustom;
}
}
属性的 web.config 属性
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="CacheAll"
duration="43200"
location="Server"
varyByParam="*"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>