Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 19080|Válasz: 3

[ASP.NET] ASP.NET StateServer tárolja a Sessiont

[Linket másol]
Közzétéve 2017. 11. 18. 21:20:15 | | | |

Mivel a cégnek terheléselosztásra van szüksége, a webprojekt egyet telepít mindkét front-end szerveren (web1 és web2). De a projektekben is használják a sessioneket. Amikor először érkezel a web1-re, lehetséges web1-ről web2-re ugrani, mert a terhelés nőhet a web1 után.
Rengeteg információt találtam az internetről, és értem a web.config konfigurációját is
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
Sok példa az interneten: stateConnectionString="tcpip=127.0.0.1:42424", ami természetesen webszerveren rendben van, de amikor a stateConnectionString-et stateConnectionString-re változtatod stateConnectionString="tcpip=192.168.1.82: 42424"-re, mindkét frontenddel problémák lesznek. A Microsoft nem adott konkrét megoldást, és az MSDN példái is a 127.0.0.1-re utalnak. Később, kutatás és szakértőkkel való konzultáció után rájöttem, hogy módosítanom kell a Sessin-t mentő szerver regiszterét, itt a 192.168.1.82, és a módosítás a következő:
Módosítsd a regisztert:

HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parameters



AllowRemoteConnection=1



Ezután indítsa újra a ASP.NET állami szolgálatot



A csatlakozás konfigurációja a következő:

<sessionState mode="StateServer"
stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect"
időkérés="60" />

Ezután a tesztelés után rendben volt. Remélem, másoknak is segít.
Van egy másik probléma, amit még mindig nem értek. A WAP-oldalon, amit készítettem, az adatokat a ViewState-ben tárolja az oldalon, és ha az oldal folyamatosan frissül, az adatok elvesznek, és az idő soha nem haladja meg a 20 percet. Nem tudom, hogy a Microsoft hibája-e, ez a probléma nem jelenik meg weboldalakon. Megoldás.
Egy időszakos kutatás után a legjobb kevesebb viewstate-et használni a WAP oldalon, és ha a asp.net állapot szolgáltatás engedélyezve, akkor a cookieless beállítása valóra lesz, különben a munkamenet elveszik.




Előző:Egyszerű csomagrefaktorálás Autofac Container számára
Következő:A session állapotok nem serializálhatók. "StateServer" vagy "SQLServer" módban...
 Háziúr| Közzétéve 2017. 11. 18. 21:21:34 |
ASP.NET session állapot modul <Sessionstate>meghatározza a Web.config fájlban található címke négy lehetséges értékét < a System.web> tag alatt lévő kód mód tulajdonságát: Off, Inproc StateServer és SQLserver.    Az 1 Inproc az alapértelmezett beállítás
Lehetővé teszi a "cookie nélküli" üléseket, valamint a munkamenet adatainak a szerveren kívüli tárolását. ASP.NET session állapot modul a Web.config fájlban a következőképpen van konfigurálva:
 Háziúr| Közzétéve 2018. 02. 26. 11:02:52 |
A saját konfigurációm


 Háziúr| Közzétéve 2022. 07. 10. 21:58:32 |
ASP.NET 4 most beépített támogatást nyújt a munkafolyamat adatai tömörítésére a folyamaton kívüli ülések tárolására. Ennek a funkciónak a engedélyezéséhez egyszerűen beállítsacompressionEnabledA tulajdonság "true"-ra van állítva, ahogy az alábbi kódrészlet is mutatja:



ASP.NET a .NET Framework System.IO.Compression.GZipStream osztályt használja a session állapotának tömörítésére (és decompressálására).
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com