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