Kuna ettevõte peab serverit koormuse tasakaalustama, juurutab veebiprojekt ühe serveri kummalgi kahele esiküljele (web1 ja web2). Aga sessioone kasutatakse projektides. Kui maandud esimest korda web1-le, on võimalik hüpata web1-lt web2-le, sest koormus võib pärast web1-d suureneda. Leidsin internetist palju infot ja mõistan ka web.config seadistust <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Paljud näited internetis on stateConnectionString="tcpip=127.0.0.1:42424", mis on muidugi veebiserveris okei, kuid kui muudad stateConnectionStringi stateConnectionString="tcpip=192.168.1.82: 42424", tekivad mõlemad kasutajaliidesed probleemid. Microsoft ei andnud konkreetset lahendust ning MSDN-i näited viitavad samuti versioonile 127.0.0.1. Hiljem, pärast uurimist ja ekspertidega konsulteerimist, sain aru, et pean muutma serveri registrit, mis salvestab Sessini, siin on see 192.168.1.82 ja muudatus on järgmine: Muuda registrit:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parameetrid
AllowRemoteConnection=1
Seejärel taaskäivita ASP.NET riigiteenus
Ühenduse konfiguratsioon on järgmine:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect" timeout="60" />
Pärast seda oli testimisel kõik korras. Loodan, et see aitab teisi. On veel üks probleem, millest ma siiani aru ei saa. Wap-leht, mille tegin, salvestab andmed lehe ViewState'is ja kui lehte pidevalt värskendatakse, kaovad andmed ja aeg ei ületa kunagi 20 minutit. Ma ei tea, kas see on Microsofti viga või mis, seda probleemi veebilehtedel ei esine. Lahendus. Pärast mõningast uurimist on kõige parem kasutada WAP-lehel vähem vaateolekut ning kui asp.net oleku teenus on lubatud, siis on parem seada küpsisteta tõele, vastasel juhul kaotatakse sessioon. |