Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 19080|Odpoveď: 3

[ASP.NET] ASP.NET StateServer, ktorý ukladá reláciu

[Kopírovať odkaz]
Zverejnené 18. 11. 2017 21:20:15 | | | |

Keďže spoločnosť potrebuje vyvážiť záťaž servera, webový projekt nasadí jeden na každý z dvoch front-end serverov (web1 a web2). Ale sedenia sa používajú v projektoch. Keď prvýkrát prídete na web1, je možné preskočiť z web1 na web2, pretože záťaž sa môže po web1 zvýšiť.
Našiel som veľa informácií z internetu a tiež rozumiem konfigurácii vo web.config
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
Mnohé príklady na internete sú stateConnectionString="tcpip=127.0.0.1:42424", čo je samozrejme v poriadku na webovom serveri, ale keď zmeníte stateConnectionString na stateConnectionString="tcpip=192.168.1.82: 42424", vyskytnú sa problémy s oboma frontendmi. Microsoft neposkytol konkrétne riešenie a príklady na MSDN tiež ukazujú na 127.0.0.1. Neskôr, po výskume a konzultácii s odborníkmi, som si uvedomil, že musím upraviť register servera, ktorý ukladá Sessin, tu je 192.168.1.82 a úprava je nasledovná:
Upravte register:

HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parameters



AllowRemoteConnection=1



Potom reštartuj ASP.NET štátnu službu



Konfigurácia spojenia je nasledovná:

<sessionState mode="StateServer"
stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect"
timeout="60" />

Potom to bolo po testovaní v poriadku. Dúfam, že to pomôže aj ostatným.
Je tu ešte jeden problém, ktorému stále nerozumiem. Stránka wap, ktorú som vytvoril, bude mať dáta uložené v ViewState na stránke, a keď sa stránka neustále obnovuje, dáta v nej sa stratia a čas nikdy neprekročí 20 minút. Neviem, či je to chyba od Microsoftu alebo čo, tento problém sa na webových stránkach neobjavuje. Riešenie.
Po určitom období skúmania je najlepšie použiť menej viewstate na stránke WAP a ak je služba asp.net state povolená, je najlepšie nastaviť cookieless na true, inak sa relácia stratí.




Predchádzajúci:Jednoduché refaktorovanie balíkov pre Autofac Container
Budúci:Stavy relácie nie je možné serializovať. V režime "StateServer" alebo "SQLServer"...
 Prenajímateľ| Zverejnené 18. 11. 2017 21:21:34 |
ASP.NET modul session state <Sessionstate>určuje štyri možné hodnoty tagu v súbore Web.config < vlastnosť mode tagu pod tagom System.web>: Off, Inproc StateServer a SQLserver.    1 Inproc je predvolené nastavenie
Umožňuje relácie bez cookies, ako aj ukladanie dát relácií mimo servera. ASP.NET modul stavu relácie je v súbore Web.config nastavený nasledovne:
 Prenajímateľ| Zverejnené 26. 2. 2018 11:02:52 |
Moja vlastná konfigurácia


 Prenajímateľ| Zverejnené 10. 7. 2022 21:58:32 |
ASP.NET 4 teraz poskytuje zabudovanú podporu kompresie dát relácií na uloženie relácií mimo procesu. Na zapnutie tejto funkcie stačí nastaviťcompressionEnabledVlastnosť je nastavená na "true", ako je ukázané v nasledujúcom úryvku kódu:



ASP.NET použije triedu .NET Framework System.IO.Compression.GZipStream na kompresiu (a dekomprimáciu) stavu relácie.
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com