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. |