/ / Sesje Asp.NET upuszczane z ustawieniem "In Process". Czy ktoś może wyjaśnić mi pewne rzeczy? - asp.net, sesja, iis-7

Sesje Asp.NET upuszczają z ustawieniem "In Process". Czy ktoś może mi wyjaśnić pewne rzeczy? - asp.net, sesja, iis-7

Mam aplikację internetową, która wydaje się byćlosowo upuszczając sesje ASP.NET. Ta aplikacja jest hostowana na czterech serwerach wraz z modułem równoważenia obciążenia. Spojrzałem na ustawienia stanu sesji w IIS7 dla katalogu wirtualnego witryny.Każdy serwer ma to ustawione na "In Process" .Od pewnego odczytu zrobiłem, wygląda to tak, że dane sesji są przechowywane tylko na jednym serwera i jeśli moduł równoważenia obciążenia przełączy serwer na tego użytkownika, sesja zostanie odrzucona. Czy to prawda?

Artykuły, które przeczytałem, również stwierdzają, że jeśliużywając "In Process" podczas hostowania na wielu serwerach, powinieneś używać czegoś o nazwie "Sticky Sessions", ale nie wdawać się w szczegóły na ten temat. Jak mogę sprawdzić, czy używasz "Sticky Sessions"? ustawienie IIS7, coś unikalnego dla load balancera, czy coś zupełnie innego?

To tylko moja teoria, więc zastanawiam się też, czyZanim spróbuję wyciągnąć wnioski lub wyeliminować możliwość, że ustawienia równoważenia obciążenia / usługi IIS są problemem, należy zapoznać się z kilkoma innymi wskaźnikami.

Sprawdziłem w przeglądarce zdarzeń i nie sądzę, że dzieje się tak z powodu recyklingu AppPools lub samego IIS.

Odpowiedzi:

1 dla odpowiedzi № 1

Tak, masz rację, kiedy inny serwer zostanie trafiony w jednym z kolejnych żądań, nie ma danych.

Przyklejone sesje są obsługiwane przez układ równoważący. Może trzymać klientów przez ich ip lub wydać plik cookie typu stick. Zależy od faktycznego balansera, a teraz jest skonfigurowany. W NLB było to nazywane "powinowactwem sesji".

Innym typowym obejściem byłoby skonfigurowanie sesji do trybu serwera sql, ale brzmi, jakbyś był świadomy tej możliwości i nie chcesz tego robić.