2015-02-03 2 views
3

У меня есть два веб-сайта с доменами www.example.com и www.test.example.com, которые содержат одинаковые сведения о студентах. Я хочу поделиться сеансом между двумя доменами. Возможно ли это?Как разделить состояние сеанса между субдоменами

+1

возможно дубликат [Как я могу разделить сессию на нескольких субдоменов в ASP.NET?](http://stackoverflow.com/questions/273732/how-can- i-share-a-session-through-multiple-subdomains-in-asp-net) –

+0

Уже я сделал данную ссылку. Теперь ее работала на моем локальном хосте, но не работала в моем домене. Показывает нулевое значение в состоянии сеанса для другого домена. – RajeeshMenoth

+0

Локально он работает отлично, но на сервере его не работает – RajeeshMenoth

ответ

1

Используйте следующий метод:

void MasterPage_Unload(object sender, EventArgs e) 
{ 
    ///ASP.NET uses one cookie per subdomain/domain, 
    ///we need one cookie for _all_ subdomains. 
    if (Context.Response.Cookies["ASP.NET_SessionId"] == null) 
     return; 

    var sessionCookie = new HttpCookie("ASP.NET_SessionId", Context.Session.SessionID); 
    sessionCookie.Domain = ".yourdomain.com" ; 
    Context.Response.SetCookie(sessionCookie); 
} 
+0

Спасибо, но как получить этот sessioncookie в другом субдомене. – RajeeshMenoth

+0

Я предполагаю, что ваши субдомены сопоставляются с одним и тем же приложением. Если нет, вы можете попробовать одно из следующих: 1. Хранилище сеансов на базе SQL Server 2. HttpModule для перехвата и обработки запроса в IIS – Vishal

+0

Да, я все еще использую хранилище сеансов на основе Sql. Как передать состояние сеанса в другое domain? .in my main domain Я использую динамическую ссылку, поэтому я не могу использовать строку Request.query в другом домене. – RajeeshMenoth

Смежные вопросы