2013-03-01 12 views
5

Mam dwie aplikacje internetowe, jeden w .net framework 3.5 a drugi w .net 4.0 ram (MVC z Razor). Przesłałem 3.5 aplikacji ramowej w głównej domenie i 4.0 aplikacji ramowej w poddomenie. Chcę udostępnić sesję między tą aplikacją. Używam trybu stanu sesji jako serwer sql. Próbowałem rozwiązań, takich jak stosowanie nazwy aplikacji w łańcuchu połączenia sesji sql serwera i zmodyfikować procedurę przechowywaną TempGetAppID w bazy danych ASPState. Działa doskonale w lokalnych aplikacjach, ale kiedy przesyłam je na żywo, nie udostępnia sesji. Potem próbowałem również udostępniania plików cookie między domenami, ale nie działa również. Więc myślę, że to wymaga pewnych zmian na serwerze, ale nie wiem, gdzie wprowadzić zmiany. Ktoś może pomóc?Sesja dzieląc między dwiema domenami

+1

Czy udostępniają tę samą pulę aplikacji (nie wiem, czy to ważne, ale jest to najlepszy bankomat). Lokalnie zakładam, że udostępniają tę samą pulę aplikacji, co może być przyczyną jej działania. – webnoob

+1

Należy upewnić się, że 2 aplikacje łączą się z tym samym plikiem bazy danych - i mają ten sam identyfikator aplikacji (w bazie danych). – Aristos

+0

Wypróbowane rozwiązania wymienione w http://stackoverflow.com/a/3151315 i http://stackoverflow.com/a/2461502? –

Odpowiedz

0

Jedną z rzeczy, która najczęściej różni się w środowisku produkcyjnym, jest to, że każda aplikacja ma swój własny klucz maszynowy. Możesz wygenerować jeden z this generator i umieścić to samo w konfiguracjach obu aplikacji, aby mogły odszyfrować pliki cookie z drugiej aplikacji. Domyślnie stan sesji zawiera również plik cookie, który zawiera klucz sesji, a aby móc udostępniać sesje, najpierw należy udostępnić pliki cookie.

Powiązane problemy