Cara menggunakan sesi di ASP.NET MVC 4 aplikasi?
Saya baru ASP.NET MVC. Saya telah menggunakan PHP sebelum dan itu mudah untuk membuat sesi dan pilih catatan pengguna berdasarkan arus variabel sesi.
Saya telah melihat di mana-mana di Internet secara sederhana langkah-demi-langkah tutorial yang dapat menunjukkan padaku bagaimana untuk membuat dan menggunakan sesi di C# ASP.NET MVC 4 aplikasi. Saya ingin membuat sebuah session dengan pengguna variabel yang bisa saya akses dari mana saja di controller dan dapat menggunakan variabel-variabel dalam LINQ query.
-Terima kasih sebelumnya!
103
5
Mencoba
Karena stateless sifat dari web, sesi juga cara yang sangat berguna untuk bertahan benda-benda di seluruh permintaan oleh serialising mereka dan menyimpannya dalam sebuah sesi.
Sempurna gunakan kasus ini bisa jadi jika anda perlu untuk mengakses informasi secara teratur di seluruh aplikasi anda, untuk menyimpan database tambahan panggilan pada setiap permintaan, data ini dapat disimpan dalam sebuah objek dan unserialised pada setiap permintaan, seperti:
Kami dapat digunakan kembali, serializable objek:
Use case:
Setelah objek ini telah dimuat, kita bisa menggunakannya di semua pengendali tanpa perlu membuat atau query database untuk data yang terkandung di dalamnya lagi.
Inject objek sesi menggunakan Dependency Injection
Dalam dunia yang ideal, anda akan 'program untuk antarmuka, tidak dilaksanakannya' dan inject anda serializable sesi objek ke controller menggunakan Inversi Kontrol wadah pilihan, seperti (contoh ini menggunakan StructureMap sebagai it's the one I'm paling akrab dengan).
Anda kemudian akan mendaftarkan ini di
Global.asax.cs
file.Bagi mereka yang tidak't akrab dengan menyuntikkan sesi benda-benda, anda dapat menemukan lebih mendalam posting blog tentang subjek di sini.
Sebuah kata peringatan:
It's dicatat bahwa sesi harus disimpan ke minimum, besar sesi dapat mulai menyebabkan masalah kinerja.
It's juga dianjurkan untuk tidak menyimpan data sensitif di dalamnya (password, dll).
Ini adalah bagaimana sesi negara bekerja di ASP.NET dan ASP.NET MVC:
ASP.NET Sesi Negara Ikhtisar
Pada dasarnya, anda melakukan ini untuk menyimpan nilai dalam Sesi objek:
Untuk mengambil nilai:
Anda dapat menyimpan segala jenis data dalam sesi menggunakan:
Variabel ini akan berlangsung 20 menit atau lebih.
U dapat menyimpan nilai dalam sesi suka Sesi["nama depan"] = FirstNameTextBox.Teks; tapi saya akan menyarankan anda untuk mengambil bidang statis dalam model menetapkan nilai untuk itu dan anda dapat mengakses nilai field mana saja di aplikasi. U don't perlu sesi. sesi harus dihindari.
pada controller - Karyawan.FullName = "ABC"; Sekarang anda dapat mengakses Nama lengkap di mana saja di aplikasi.