Kadangi įmonei reikia subalansuoti serverio apkrovą, žiniatinklio projektas įdiegia po vieną kiekviename iš dviejų priekinių serverių (web1 ir web2). Tačiau sesijos naudojamos projektuose. Kai pirmą kartą nusileidžiate web1, galima pereiti iš web1 į web2, nes po web1 apkrova gali padidėti. Radau daug informacijos iš interneto, taip pat suprantu web.config konfigūraciją <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Daugelis pavyzdžių internete yra stateConnectionString="tcpip=127.0.0.1:42424", kuris, žinoma, tinka žiniatinklio serveryje, bet kai pakeisite stateConnectionString į stateConnectionString="tcpip=192.168.1.82: 42424", kils problemų su abiem sąsajomis. "Microsoft" nepateikė konkretaus sprendimo, o MSDN pavyzdžiai taip pat nurodo 127.0.0.1. Vėliau, ištyręs ir pasikonsultavęs su ekspertais, supratau, kad turiu pakeisti serverio, kuris išsaugo Sessin, registrą, čia jis yra 192.168.1.82, o modifikacija yra tokia: Pakeiskite registrą:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Paslaugos"aspnet_state"Parametrai
AllowRemoteConnection=1
Tada iš naujo paleiskite ASP.NET būsenos tarnybą
Ryšio konfigūracija yra tokia:
<sessionState mode="Būsenos serveris" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="Automatinis aptikimas" skirtasis laikas="60" />
Po to po bandymų viskas buvo gerai. Tikiuosi, kad tai padės kitiems. Yra dar viena problema, kurios vis dar nesuprantu. Mano sukurtame wap puslapyje duomenys bus saugomi ViewState puslapyje, o kai puslapis bus nuolat atnaujinamas, jame esantys duomenys bus prarasti, o laikas niekada neviršys 20 minučių. Nežinau, ar tai "Microsoft" klaida, ar ką, ši problema nerodoma tinklalapiuose. Sprendimas. Po tam tikro tyrinėjimo laikotarpio geriausia WAP puslapyje naudoti mažiau viewstate, o jei įjungta asp.net būsenos paslauga, geriausia nustatyti slapukų be true, kitaip seansas bus prarastas. |