Sesi perkongsian merentas aplikasi: Memanfaatkan Perkhidmatan Negeri Sesi ASP.NET
Pengenalan
Aplikasi web selalunya perlu berkongsi data sesi antara berbilang aplikasi, membolehkan pengguna mengakses maklumat dan pilihan mereka dengan lancar. Artikel ini meneroka cara memanfaatkan perkhidmatan keadaan sesi ASP.NET untuk mencapai perkongsian sesi antara dua aplikasi web berbeza yang dihoskan pada pelayan yang sama.
Perkongsian sesi antara aplikasi .NET 2.0 dan MVC2
Percubaan awal untuk berkongsi sesi antara aplikasi Borang Web .NET 2.0 dan aplikasi MVC2 .NET 3.5 adalah untuk menerbitkan kunci sesi daripada aplikasi Borang Web kepada aplikasi MVC. Walau bagaimanapun, pendekatan ini mengalami masalah bahawa sesi tidak boleh dimuatkan dalam aplikasi MVC.
Penyelesaian: Gunakan keadaan sesi asal SQL Server dan kunci mesin kongsi
Untuk mengatasi cabaran ini, kedua-dua aplikasi harus menggunakan keadaan sesi .NET asli yang disimpan dalam SQL Server. Selain itu, kunci mesin kongsi digunakan untuk memastikan aplikasi boleh menyulitkan dan menyahsulit data sesi secara konsisten.
Konfigurasi Web.config
Dalam fail web.config kedua-dua aplikasi, konfigurasikan keadaan sesi seperti berikut:
<code class="language-xml"><sessionstate mode="SQLServer" sqlconnectionstring="..."></sessionstate> <machinekey decryption="AES" validation="SHA1" validationkey="SOMEKEY"></machinekey></code>
Konfigurasi pangkalan data
Buat pangkalan data keadaan sesi yang diperlukan pada contoh SQL Server yang boleh diakses oleh kedua-dua aplikasi. Jalankan arahan aspnet_regsql.exe untuk memulakan pangkalan data.
Ubah suai prosedur tersimpan
Membuat pengubahsuaian kecil pada prosedur tersimpan TempGetAppID dalam pangkalan data keadaan sesi:
<code class="language-sql">SET @appName = LOWER(@appName)</code>
Keputusan
Dengan menggunakan keadaan sesi asli yang disimpan dalam SQL Server dan berkongsi kunci mesin, kedua-dua aplikasi boleh mengakses data sesi yang sama. Ini membolehkan perkongsian maklumat sesi yang lancar antara aplikasi.
Atas ialah kandungan terperinci Bagaimanakah Perkhidmatan Keadaan Sesi ASP.NET Mendayakan Perkongsian Sesi Silang Aplikasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!