To prawdopodobnie nie jest problem z sesją, ale raczej problem z plikiem cookie/biletem uwierzytelniającym. GoDaddy (najprawdopodobniej) ma zbilansowane obciążenie serwerów. Oznacza to, że aplikacja faktycznie istnieje na więcej niż jednym serwerze na raz.
W twoim web.config, jeśli nie definiujesz poprawnie atrybutu <machineKey>
, to IIS tworzy klucz maszynowy dla ciebie. Każdy serwer, na którym działa aplikacja, utworzy własny klucz maszynowy, jeśli nie jest zdefiniowany przez Ciebie. W rezultacie jeden serwer może odszyfrować i odczytać bilet uwierzytelnienia, podczas gdy następny wniosek trafia do innego serwera, który nie może odszyfrować biletu uwierzytelniającego, ponieważ został zaszyfrowany innym kluczem i ten serwer uważa, że nie jesteś zalogowany.
Aby rozwiązać ten problem, otwórz plik web.config i zdefiniuj atrybut <machineKey>
i przeprowadź ponowne wdrożenie. Po zalogowaniu się w nowo wdrożonej aplikacji problem powinien zniknąć.
Forms authentication and Machine Key information on MSDN
Machine Key Generator (Najprawdopodobniej każdy będzie tu powinny używać wersji .NET 2.0, który jest generowany)
nie mogę wyrazić siebie jak wdzięczny I am do siebie już teraz. Dziękuję Ci. To było to. – memeonline
Epicki. Nie tylko jest to poprawne, ale jest wyjaśnione doskonale i szczegółowo. Bardzo miło, to też mi pomogło. –