Mała, ale ważna uwaga na marginesie:InProc nie nadaje się do użytku na farmie, jak sama nazwa wskazuje, działa w bieżącym procesie w3wp i nie można go udostępniać na farmie. StateServer jest usługą Windows, więc szybkość korzystania z StateServer zależy od szybkości maszyny, na której działa usługa StateServer, jest to tylko pamięć. SQL oczywiście musi zapisywać i pobierać dane, co prawdopodobnie jest wolniejsze niż tylko pamięć.
Stąd:
- W trakcie. W procesie będzie działać najlepiej, ponieważ pamięć stanu sesji jest przechowywana w procesie ASP.NET. W przypadku aplikacji internetowych hostowanych na pojedynczym serwerze, aplikacji, w których użytkownik ma zagwarantowane przekierowanie do właściwego serwera lub gdy dane stanu sesji nie są krytyczne (w tym sensie, że można je zrekonstruować lub ponownie wypełnić) , to jest tryb do wyboru.
- Brak procesu. Ten tryb najlepiej sprawdza się, gdy ważna jest wydajność, ale nie można zagwarantować, z którego serwera użytkownik zażąda aplikacji. W trybie pozaprocesowym uzyskujesz wydajność odczytu z pamięci i niezawodność oddzielnego procesu, który zarządza stanem wszystkich serwerów.
- Serwer SQL. Ten tryb najlepiej sprawdza się, gdy niezawodność danych ma fundamentalne znaczenie dla stabilności aplikacji, ponieważ baza danych może być grupowana w scenariuszach awarii. Wydajność nie jest tak szybka, jak poza procesem, ale kompromisem jest wyższy poziom niezawodności.