Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 19080|Vastaus: 3

[ASP.NET] ASP.NET StateServer, joka tallentaa istunnon

[Kopioi linkki]
Julkaistu 18.11.2017 21.20.15 | | | |

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.




Edellinen:Yksinkertainen pakettien refaktorointi Autofac-kontille
Seuraava:Istuntotiloja ei voi sarjoittaa. "StateServer"- tai "SQLServer"-tilassa...
 Vuokraisäntä| Julkaistu 18.11.2017 21.21.34 |
ASP.NET istuntotilamoduuli <Sessionstate>määrittää neljä mahdollista tunnisteen arvoa Web.config-tiedostossa < System.web>-tunnisteen alla olevan tagin tila-ominaisuuden: Off, Inproc StateServer ja SQLserver.    1 Inproc on oletusasetus
Se mahdollistaa "evästeettömät" istunnot sekä istuntotietojen tallentamisen palvelimen ulkopuolelle. ASP.NET istuntotilamoduuli on konfiguroitu Web.config-tiedostossa seuraavasti:
 Vuokraisäntä| Julkaistu 26.2.2018 11.02.52 |
Oma kokoonpanoni


 Vuokraisäntä| Julkaistu 10.7.2022 21.58.32 |
ASP.NET 4 tarjoaa nyt sisäänrakennetun tuen istuntotietojen pakkaamiseen prosessin ulkopuolisten istuntojen tallentamista varten. Tämän ominaisuuden ottamiseksi voi vain asettaacompressionEnabledOminaisuus on asetettu "true"-arvoon, kuten seuraavassa koodipätkässä on esitetty:



ASP.NET käyttää .NET Framework System.IO.Compression.GZipStream -luokkaa session tilan pakkaamiseen (ja purkamiseen).
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com