Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 19080|Jawab: 3

[ASP.NET] ASP.NET StateServer yang menyimpan Sesi

[Salin tautan]
Diposting pada 18/11/2017 21.20.15 | | | |

Karena perusahaan perlu menyeimbangkan beban server, proyek web menyebarkan satu di masing-masing dari dua server front-end (web1 dan web2). Tetapi sesi digunakan dalam proyek. Saat Anda pertama kali mendarat di web1, dimungkinkan untuk melompat dari web1 ke web2 karena beban dapat meningkat setelah web1.
Saya menemukan banyak informasi dari Internet, dan saya juga memahami konfigurasi di web.config
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
Banyak contoh di Internet adalah stateConnectionString="tcpip=127.0.0.1:42424", yang tentu saja baik-baik saja di server web, tetapi ketika Anda mengubah stateConnectionString menjadi stateConnectionString="tcpip=192.168.1.82: 42424", akan ada masalah dengan kedua frontend. Microsoft tidak memberikan solusi khusus, dan contoh di MSDN juga menunjuk ke 127.0.0.1. Kemudian, setelah meneliti dan berkonsultasi dengan para ahli, saya menyadari bahwa saya harus memodifikasi registri server yang menyimpan Sessin, ini adalah 192.168.1.82, dan modifikasinya adalah sebagai berikut:
Ubah registri:

HKEY_LOCAL_MACHINE"SISTEM"CurrentControlSet"Layanan"aspnet_state"Parameter



Izinkan Koneksi Jarak Jauh=1



Kemudian mulai ulang ASP.NET State Service



Konfigurasi koneksi adalah sebagai berikut:

<sessionState mode="StateServer"
stateConnectionString="tcpip=192.168.1.200:42424" cookieless="Deteksi Otomatis"
batas waktu = "60" />

Setelah itu, tidak apa-apa setelah pengujian. Semoga membantu orang lain.
Ada masalah lain yang masih belum saya mengerti. Halaman wap yang saya buat akan memiliki data yang disimpan di ViewState pada halaman, dan ketika halaman terus disegarkan, data di dalamnya akan hilang, dan waktunya tidak akan pernah melebihi 20 menit. Saya tidak tahu apakah itu bug dari Microsoft atau apa, masalah ini tidak muncul di halaman web. Solusi.
Setelah periode eksplorasi, yang terbaik adalah menggunakan lebih sedikit viewstate di halaman WAP, dan jika layanan status asp.net diaktifkan, maka yang terbaik adalah mengatur cookieless ke true, jika tidak, sesi akan hilang.




Mantan:Refactoring paket sederhana untuk Autofac Container
Depan:Status sesi tidak dapat diserialisasikan. Dalam mode "StateServer" atau "SQLServer"...
 Tuan tanah| Diposting pada 18/11/2017 21.21.34 |
ASP.NET modul status sesi <Sessionstate>menentukan empat kemungkinan nilai tag dalam file Web.config < properti mode tag di bawah tag System.web>: Off, Inproc StateServer, dan SQLserver.    1 Inproc adalah pengaturan default
Ini memungkinkan sesi "tanpa cookie", serta penyimpanan data sesi di luar server. ASP.NET modul status sesi dikonfigurasi dalam file Web.config sebagai berikut:
 Tuan tanah| Diposting pada 26/02/2018 11.02.52 |
Konfigurasi saya sendiri


 Tuan tanah| Diposting pada 10/07/2022 21.58.32 |
ASP.NET 4 sekarang menyediakan dukungan bawaan untuk mengompresi data sesi untuk menyimpan sesi di luar proses. Untuk mengaktifkan fitur ini, cukup aturkompresiDiaktifkanProperti diatur ke "true", seperti yang ditunjukkan dalam cuplikan kode berikut:



ASP.NET akan menggunakan class .NET Framework System.IO.Compression.GZipStream untuk mengompres (dan mendekompresi) status sesi.
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com