Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Dua Aplikasi .NET dengan Rangka Kerja Berbeza Boleh Berkongsi Keadaan Sesi?
Mendayakan Perkongsian Sesi Rangka Silang dalam Aplikasi .NET
Masalah:
Dua aplikasi web, satu dibina pada .NET 2.0 dan satu lagi pada .NET 3.5 (MVC2), digunakan pada pelayan yang sama, memerlukan keadaan sesi dikongsi. Walaupun konfigurasi mod StateServer
dan rentetan sambungan yang sama, aplikasi MVC2 gagal untuk mendapatkan semula sesi yang dimulakan oleh aplikasi .NET 2.0.
Penyelesaian:
Perkongsian sesi terus antara aplikasi .NET menggunakan rangka kerja yang berbeza tidak disokong secara semula jadi. Penyelesaian pengurusan sesi berpusat atau stor sesi yang disokong pangkalan data adalah perlu.
Pelaksanaan:
Gunakan penyedia sesi kongsi yang boleh diakses oleh kedua-dua aplikasi. Pembekal sesi SQL Server terbina dalam adalah pilihan yang sesuai. Konfigurasikan fail web.config
kedua-dua aplikasi seperti berikut:
sessionState
Konfigurasi:<code class="language-xml"><sessionState mode="SQLServer" sqlConnectionString="..." /></code>
machineKey
Konfigurasi:<code class="language-xml"><machineKey decryption="AES" validation="SHA1" validationKey="..." /></code>
Yang penting, kedua-dua aplikasi mesti menyambung ke pangkalan data SQL Server yang sama. Tambahan pula, TempGetAppID
prosedur tersimpan mungkin memerlukan pengubahsuaian seperti yang diperincikan dalam dokumentasi MSDN yang berkaitan (pautan ke dokumentasi akan bermanfaat di sini jika tersedia).
Dengan menggunakan machineKey
yang konsisten dan penyedia sesi kongsi, kedua-dua aplikasi boleh berjaya berkongsi kunci sesi dan membentuk kuki pengesahan, membolehkan pengurusan sesi lancar merentas versi rangka kerja .NET yang berbeza.
Atas ialah kandungan terperinci Bagaimanakah Dua Aplikasi .NET dengan Rangka Kerja Berbeza Boleh Berkongsi Keadaan Sesi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!