Protože firma potřebuje server vyvážit zatížení, webový projekt nasadí jeden na každý ze dvou front-end serverů (web1 a web2). Ale sezení se používají v projektech. Když se poprvé dostanete na web1, je možné přeskočit z web1 na web2, protože zátěž se může po web1 zvýšit. Našel jsem spoustu informací z internetu a také rozumím konfiguraci ve web.config <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Mnoho příkladů na internetu je stateConnectionString="tcpip=127.0.0.1:42424", což je samozřejmě v pořádku na webovém serveru, ale když změníte stateConnectionString na stateConnectionString="tcpip=192.168.1.82: 42424", budou problémy s oběma frontendy. Microsoft neposkytl konkrétní řešení a příklady na MSDN také ukazují na 127.0.0.1. Později, po výzkumu a konzultaci s odborníky, jsem si uvědomil, že musím upravit registr serveru, který ukládá Sessin, zde je 192.168.1.82 a úprava je následující: Upravte registr:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parametry
AllowRemoteConnection=1
Pak znovu spusťte ASP.NET státní službu
Konfigurace spojení je následující:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect" časový limit="60" />
Po tom už bylo po testování v pořádku. Doufám, že to pomůže ostatním. Je tu ještě jeden problém, kterému stále nerozumím. Stránka wap, kterou jsem vytvořil, bude mít data uložená ve ViewState na stránce a když se stránka neustále obnovuje, data v ní se ztratí a čas nikdy nepřesáhne 20 minut. Nevím, jestli je to chyba od Microsoftu, nebo co, tento problém se na webových stránkách neobjevuje. Řešení. Po určitém zkoumání je nejlepší použít méně stavu zobrazení na stránce WAP, a pokud je služba asp.net stav povolena, je nejlepší nastavit bezerotnou hodnotu na true, jinak se relace ztratí. |