Koska yrityksen täytyy tasapainottaa palvelin, web-projekti ottaa yhden käyttöön kummallakin etupääpalvelimella (web1 ja web2). Mutta sessioita käytetään projekteissa. Kun laskeudut ensimmäistä kertaa web1:een, on mahdollista hypätä web1:stä web2:een, koska kuormitus voi kasvaa web1:n jälkeen. Löysin paljon tietoa internetistä, ja ymmärrän myös web.configin asetukset <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Monia esimerkkejä internetissä ovat stateConnectionString="tcpip=127.0.0.1:42424", mikä on tietysti hyvä verkkopalvelimella, mutta kun vaihdat stateConnectionStringin muotoon stateConnectionString="tcpip=192.168.1.82: 42424", molemmissa frontendissä ilmenee ongelmia. Microsoft ei antanut tarkkaa ratkaisua, ja MSDN:n esimerkit viittaavat myös versioon 127.0.0.1. Myöhemmin, tutkittuani ja konsultoituani asiantuntijoita, tajusin, että minun täytyy muuttaa palvelimen rekisteriä, joka tallentaa Sessinin, tässä se on 192.168.1.82, ja muutos on seuraava: Muokkaa rekisteriä:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet""Services"aspnet_state"Parametrit
AllowRemoteConnection=1
Sitten käynnistä ASP.NET State Service uudelleen
Yhteyden kokoonpano on seuraava:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect" aikalisä="60" />
Sen jälkeen testauksen jälkeen kaikki oli kunnossa. Toivottavasti siitä on apua muille. On toinen ongelma, jota en vieläkään ymmärrä. Tekemäni WAP-sivu tallentaa tiedot sivun ViewState-tilaan, ja kun sivua päivitetään jatkuvasti, sen data katoaa, eikä aika koskaan ylitä 20 minuuttia. En tiedä onko kyseessä Microsoftin bugi vai mitä, tätä ongelmaa ei näy verkkosivuilla. Ratkaisu. Tutkimisen jälkeen on parasta käyttää vähemmän viewstatea WAP-sivulla, ja jos asp.net-tilapalvelu on käytössä, on parasta asettaa evästeetön todeksi, muuten istunto menetetään. |