Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 19080|Atbildi: 3

[ASP.NET] ASP.NET StateServer, kas glabā sesiju

[Kopēt saiti]
Publicēts 18.11.2017 21:20:15 | | | |

Tā kā uzņēmumam ir jālīdzsvaro serveris, tīmekļa projekts izvieto vienu katrā no diviem priekšgala serveriem (web1 un web2). Bet sesijas tiek izmantotas projektos. Kad pirmo reizi nokļūstat web1, ir iespējams pāriet no web1 uz web2, jo slodze var palielināties pēc web1.
Es atradu daudz informācijas no interneta, un es arī saprotu konfigurāciju web.config
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
Daudzi piemēri internetā ir stateConnectionString="tcpip=127.0.0.1:42424", kas, protams, ir labi tīmekļa serverī, bet, mainot stateConnectionString uz stateConnectionString="tcpip=192.168.1.82: 42424", radīsies problēmas ar abām frontend. Microsoft nesniedza konkrētu risinājumu, un MSDN piemēri norāda arī uz 127.0.0.1. Vēlāk, izpētot un konsultējoties ar ekspertiem, es sapratu, ka man ir jāmaina servera reģistrs, kas saglabā Sessin, šeit tas ir 192.168.1.82, un modifikācija ir šāda:
Modificējiet reģistru:

HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Pakalpojumi"aspnet_state"Parametri



AllowRemoteConnection=1



Pēc tam restartējiet ASP.NET valsts pakalpojumu



Savienojuma konfigurācija ir šāda:

<sessionState mode="StateServer"
stateConnectionString="tcpip=192.168.1.200:42424" cookieless="Automātiskā noteikšana"
taimauts="60" />

Pēc tam pēc testēšanas tas bija labi. Ceru, ka tas palīdzēs citiem.
Ir vēl viena problēma, ko es joprojām nesaprotu. Manis izveidotajā wap lapā būs dati, kas tiek glabāti lapas ViewState, un, kad lapa tiek pastāvīgi atsvaidzināta, tajā esošie dati tiks zaudēti, un laiks nekad nepārsniegs 20 minūtes. Es nezinu, vai tā ir Microsoft kļūda vai kas, šī problēma neparādās tīmekļa lapās. Risinājums.
Pēc izpētes perioda vislabāk ir izmantot mazāk skata stāvokļa WAP lapā, un, ja asp.net stāvokļa pakalpojums ir iespējots, vislabāk ir iestatīt sīkfailu uz true, pretējā gadījumā sesija tiks zaudēta.




Iepriekšējo:Vienkārša paketes pārveidošana Autofac Container
Nākamo:Sesijas stāvokļus nevar serializēt. Režīmā "StateServer" vai "SQLServer"...
 Saimnieks| Publicēts 18.11.2017 21:21:34 |
ASP.NET sesijas stāvokļa modulis <Sessionstate>nosaka četras iespējamās taga vērtības failā Web.config < taga rekvizīta mode zem taga System.web>: Off, Inproc StateServer un SQLserver.    1 Inproc ir noklusējuma iestatījums
Tas ļauj veikt sesijas bez sīkdatnēm, kā arī glabāt sesijas datus ārpus servera. ASP.NET sesijas stāvokļa modulis failā Web.config ir konfigurēts šādi:
 Saimnieks| Publicēts 26.02.2018 11:02:52 |
Mana konfigurācija


 Saimnieks| Publicēts 10.07.2022 21:58:32 |
ASP.NET 4 tagad nodrošina iebūvētu atbalstu sesiju datu saspiešanai, lai saglabātu ārpus procesa esošas sesijas. Lai iespējotu šo funkciju, vienkārši iestatietsaspiešanaIespējotaRekvizīts ir iestatīts uz "true", kā parādīts šajā koda fragmentā:



ASP.NET izmantos .NET Framework System.IO.Compression.GZipStream klasi, lai saspiestu (un dekompresētu) sesijas stāvokli.
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com