Deoarece compania trebuie să echilibreze încărcarea serverului, proiectul web implementează câte unul pe fiecare dintre cele două servere front-end (web1 și web2). Dar sesiunile sunt folosite în proiecte. Când ajungi prima dată pe web1, este posibil să sari de la web1 la web2, deoarece încărcarea poate crește după web1. Am găsit multe informații pe Internet și înțeleg și configurația din web.config <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Multe exemple pe Internet sunt stateConnectionString="tcpip=127.0.0.1:42424", ceea ce, desigur, este în regulă pe un server web, dar când schimbi stateConnectionString în stateConnectionString="tcpip=192.168.1.82: 42424", vor apărea probleme cu ambele frontend-uri. Microsoft nu a oferit o soluție specifică, iar exemplele de pe MSDN indică, de asemenea, 127.0.0.1. Mai târziu, după ce am cercetat și am consultat experți, mi-am dat seama că trebuie să modific registrul serverului care salvează Sessin, iată 192.168.1.82, iar modificarea este următoarea: Modifică registrul:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet""Servicii"aspnet_state"Parametri
AllowRemoteConnection=1
Apoi repornește Serviciul de Stat ASP.NET
Configurația conexiunii este următoarea:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect" timeout="60" />
După aceea, a fost OK după testare. Sper să ajute și pe alții. Mai este o problemă pe care încă nu o înțeleg. Pagina wap pe care am creat-o va avea datele stocate în ViewState de pe pagină, iar când pagina este reîmprospătată constant, datele din ea se vor pierde, iar timpul nu va depăși niciodată 20 de minute. Nu știu dacă e un bug de la Microsoft sau altceva, problema asta nu apare pe paginile web. Soluție. După o perioadă de explorare, este mai bine să se folosească mai puțin viewstate pe pagina WAP, iar dacă serviciul asp.net state este activat, atunci este mai bine să setați cookieless pe true, altfel sesiunea se va pierde. |