Mivel a cégnek terheléselosztásra van szüksége, a webprojekt egyet telepít mindkét front-end szerveren (web1 és web2). De a projektekben is használják a sessioneket. Amikor először érkezel a web1-re, lehetséges web1-ről web2-re ugrani, mert a terhelés nőhet a web1 után. Rengeteg információt találtam az internetről, és értem a web.config konfigurációját is <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Sok példa az interneten: stateConnectionString="tcpip=127.0.0.1:42424", ami természetesen webszerveren rendben van, de amikor a stateConnectionString-et stateConnectionString-re változtatod stateConnectionString="tcpip=192.168.1.82: 42424"-re, mindkét frontenddel problémák lesznek. A Microsoft nem adott konkrét megoldást, és az MSDN példái is a 127.0.0.1-re utalnak. Később, kutatás és szakértőkkel való konzultáció után rájöttem, hogy módosítanom kell a Sessin-t mentő szerver regiszterét, itt a 192.168.1.82, és a módosítás a következő: Módosítsd a regisztert:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parameters
AllowRemoteConnection=1
Ezután indítsa újra a ASP.NET állami szolgálatot
A csatlakozás konfigurációja a következő:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect" időkérés="60" />
Ezután a tesztelés után rendben volt. Remélem, másoknak is segít. Van egy másik probléma, amit még mindig nem értek. A WAP-oldalon, amit készítettem, az adatokat a ViewState-ben tárolja az oldalon, és ha az oldal folyamatosan frissül, az adatok elvesznek, és az idő soha nem haladja meg a 20 percet. Nem tudom, hogy a Microsoft hibája-e, ez a probléma nem jelenik meg weboldalakon. Megoldás. Egy időszakos kutatás után a legjobb kevesebb viewstate-et használni a WAP oldalon, és ha a asp.net állapot szolgáltatás engedélyezve, akkor a cookieless beállítása valóra lesz, különben a munkamenet elveszik. |