Кеш для поддоменов - PullRequest
       4

Кеш для поддоменов

0 голосов
/ 31 января 2011

Есть субдомены: 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 )?

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Если я могу перефразировать вопрос, я думаю, вы спрашиваете, является ли объект Cache, связанный с приложением, в котором находится страница, общим для субдоменов.

Ответ, это зависит:

  • Если каждый поддомен развернут как AppDomain , они будут иметь собственное пространство памяти ( Cache и Session не будет передан). ПРИМЕЧАНИЕ. Это верно даже в том случае, если они используют один и тот же пул приложений.

  • Если это настроено как единое целое AppDomain принимает несколько заголовков хоста, тогда можно получить доступ к этому страница в разных поддоменах, но иметь одну копию Cache доступ к по всем запросам.

0 голосов
/ 31 января 2011

Но кеш я считаю глобальным.Вместо этого вы должны использовать сессию ...

Если вы сделаете

cache["subdomain"] = getMySubDomain()

, она будет перезаписываться каждый раз, а если вы сделаете

dim sd as string = cache["subdomain"]

, вы получитепоследний сохраненный поддомен, независимый от текущего вошедшего в систему пользователя ...

Почему вы не пытаетесь использовать другой браузер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...