asp.net Istuntojen jakamisongelma voi ilmetä kehityksen tai käyttöönoton aikana, miten istuntoja jaetaan eri sovellusten välillä? Etsin sitä tänään, internetissä on monia menetelmiä, joista yleisin on SqlServer-tietokannan jakamisistunto, jos sinun täytyy mennä Baiduun yksin, se tulee esiin. Mutta eikö olisi iso ongelma, jos tietokanta ei olisi SqlServer vaan jokin muu kuten Oracle? Onneksi löysin tänään toisen tavan toteuttaa istuntojen jakaminen ilman tietokantaa, eli StateServer-menetelmällä. Ilman sen pidempiä puheita, tutustu toteutusvaiheisiin:
1. Avaa rekisteri, suorita cmd/regedit ja etsi solmu HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\aspnet_state\Parameters
a. Aseta AllowRemoteConnection-arvoksi 1
[b. Aseta porttiarvoksi a5b8 (heksadesimaali), eli desimaali 42424 (oletus)]
Yllä oleva mahdollistaa kirjaimellisesti etäyhteyden ja porttien asettamisen
2. Vaihda tietokonepalvelun käynnistystyyppi "ASP.NET State Service" automaattiseksi ja käynnistä palvelu samanaikaisesti.
3. Lisää se system.web-solmun alle web.config-tiedostoon verkkosivustoprojektissa A ja projektiprojektissa B vastaavasti
Muista korvata se palvelun IP-osoitteella ja porttiasetuksella vaiheessa 1
4. Lisää seuraava koodi verkkosivustoprojektin A ja B Global.asax.cs
Kiinnitä huomiota kahteenAPPNAME tulisi asettaa samaksi。 Yllä oleva ratkaisee istuntojen jakamisen ongelman. Edellä mainitut ratkaisut on viitattu tässä
Lopuksi voit testata, että voit kirjoittaa Sessionin verkkosivustoprojektissa A lukeaksesi sivuston projektissa B, tai Seesionin verkkosivuston projektissa B lukeaksesi sen verkkosivustoprojektissa A.
|