2011-01-11 55 views
0

页面输出缓存我想用这个说法问题有关在ASP.NET

<%@ OutputCache Duration="20" Location="Any" VaryByParam="none"%> 

我们的主页。 (这种方式)

但有多个域指向同一站点,如mydomain.fr和mydomain.ch。

然后,在我的BasePage设置网站的文化FR-FR如果他们输入mydomain.fr,DE-CH,当他们键入mydomain.ch等

我想知道,因为这两个网址会加载相同的页面/default.aspx,这两个用户的页面服务是否相同(所以当.fr首先访问时,.ch访问者看到(缓存的).fr页面),还是框架认为并说:嘿,mydomain.fr/default.aspx不是与mydomain.ch/default.aspx相同,即使它是同一个生理页面,那么我们不要让缓存的页面重新创建(并缓存)一个新版本?

我已经阅读了关于页面输出缓存的varybyheader,但是.fr和.ch不是我想的标题?

回答

2

您可以通过HOST标题更改它,这意味着每个域都有自己的缓存集。

HOST header包含浏览器加载的主机名/域名;所以,mydomain.frmydomain.ch

+0

作品!非常感谢。 – Michel 2011-01-13 09:08:25

0

我强烈建议您不要自动设置基于他们用来到您的网站的域的文化。

相反,只是尊重浏览器的文化设置。一个原因是他们很可能会去你的法国网站,但更喜欢英语的东西。各种版本的浏览器将向您发送他们选择的文化设置。

另外,为您的网站顶部的用户提供一个小小的语言图标(通常是一个标志)。这应该允许他们改变他们选择的语言。

至于你的实际问题:如果你正在实施文化资源,那么你不必担心缓存。它已经被照顾好了。