有子域名: sub1.domain.ru,sub2.domain.ru,sub3.domain.ru,sub4.domain.ru 。在默认页面上有一个代码:
protected void Page_Load(object sender, EventArgs e)
{
string subdomain = Cache[key] as string;
if (subdomain != null)
{
Label1.Text = "Your subdomain is :" + subdomain;
}
else
{
Cache[key] = GetSubDomainName();
Label1.Text = "Your subdomain is :" + Cache[key] as string;
}
}
用户是否会在不同的子域中看到他们的子域名( sub1.domain.ru,sub2.domain.ru,sub3.domain.ru,sub4.domain.ru )?
答案 0 :(得分:2)
如果我可以重新解释这个问题,我想你是在询问与页面所在的应用程序相关联的Cache
对象是否跨子域共享。
答案是,这取决于:
如果每个子域都部署为 不同的 AppDomain ,他们会有 他们自己的记忆空间(缓存 会话将不会被共享)。注意:即使它们共享相同的应用程序池,也是如此。
如果您将此设置为单个 AppDomain 接受多个主机标头, 那么它可以访问它 页面在不同的子域下但是 拥有一个缓存的副本 所有要求。
答案 1 :(得分:0)
但我认为缓存是全球性的。您应该使用Session而不是......
如果你这样做
cache["subdomain"] = getMySubDomain()
每次都会被覆盖,如果你这样做了
dim sd as string = cache["subdomain"]
它将为您提供独立于当前登录用户的最后保存的子域...
为什么不尝试使用其他浏览器。