ID Artikel: 316148 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0

PRB: Variabel sesi hilang sebentar-sebentar dalam ASP.NET aplikasi

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

GEJALA

Variabel sesi mungkin kehilangan sebentar-sebentar di Microsoft ASP.NET aplikasi.

Ketika masalah ini terjadi pada gugus Microsoft aplikasi pusat 2000, sesi akan turun pada kontroler ketika perangkat lunak antivirus memindai Web.config atau berkas Global.asax. Scan akan memicu replikasi, menyebabkan sesi untuk kehilangan pada server anggota masing-masing pada gilirannya sebagai file diganti.

PENYEBAB

Ada banyak kemungkinan penyebab untuk masalah ini. Artikel ini membahas salah satu penyebabnya: sesi data yang hilang karena kegiatan perangkat lunak antivirus.

Masalah ini dapat terjadi ketika perangkat lunak antivirus memindai file aplikasi Web. Selama proses pemindaian, perangkat lunak antivirus dapat menandai Global.asax, Web.config, dan/atau Machine.config elemen dari file sebagaimana telah diubah. Modifikasi ini akan meminta Microsoft.NET Framework restart aplikasi Web. Jika data sesi yang tersimpan dalam proses, semua sesi data hilang setiap kali aplikasi Web di-restart.

PEMECAHAN MASALAH

Untuk mengatasi masalah ini, gunakan salah satu metode berikut:
  • Mengkonfigurasi perangkat lunak antivirus sehingga tidak memindai file .asax dan .config.
  • Hubungi pabrik perangkat lunak antivirus untuk petunjuk.
  • Mengkonfigurasi aplikasi Web Anda untuk menyimpan data out-of-proses sidang.Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    307598  (http://support.microsoft.com/kb/307598/ ) ASP.NET keadaan manajemen ikhtisar

STATUS

Perilaku ini sesuai rancangannya.

INFORMASI LEBIH LANJUT

Langkah-langkah mereproduksi perilaku

Catatan Sampel ini mengasumsikan bahwa aplikasi Web Anda menyimpan data dalam-proses sidang (yang perilaku default).
  1. Ikuti langkah berikut untuk membuat aplikasi Web di Microsoft Visual Basic.NET:
    1. Buka Microsoft Visual Studio.NET.
    2. Pada Berkas menu, titik Baru, lalu klik Project.
    3. Dalam Proyek baru kotak dialog, klik Proyek-proyek Visual Basic di bawah Jenis proyek, lalu klik ASP.Aplikasi NET Web di bawah Pola acu.
    4. Dalam Lokasi kotak teks, ketik http://localhost/TestWeb1.
    5. Klik Oke untuk membuat proyek. WebForm1.aspx ditambahkan ke proyek Anda secara default.
  2. Di jendela solusi Explorer, klik kanan WebForm1.aspx, lalu klik Lihat kode.
  3. Tambahkan kode berikut untuk Page_Load acara prosedur:
    Response.Write("<b>Session Variable Test</b><br>&#xa0;<br>")
    If IsNothing(Session("TestVal")) Then
        Response.Write("TestVal old value: <b>nothing</b>")
        Session("TestVal") = 0
    Else
        Response.Write("TestVal old value: " & Session("TestVal"))
    End If
    Session("TestVal") += 1
    Response.Write("<br>TestVal new value: " & Session("TestVal"))
    					
  4. Pada Bangun menu, klik Membangun solusi.
  5. Di jendela solusi Explorer, klik kanan WebForm1.aspx, lalu klik Lihat dalam Browser.
  6. Di browser Anda, klik Refresh. Perhatikan bahwa halaman menampilkan nilai awal variabel sesi sebagai tidak ada.
  7. Klik Refresh lagi beberapa kali. Perhatikan bahwa nilai awal variabel sesi perubahan nomor yang akan menambahkan setiap kali Anda me-refresh halaman.
  8. Meninggalkan halaman terbuka di browser Anda.
  9. Pada Notepad, buka Global.asax file dari folder proyek Anda. Berkas Global.asax proyek TestWeb1 ini biasanya terletak di map C:\Inetpub\wwwroot\TestWeb1\Global.asax.
  10. Memindahkan titik penyisipan ke baris kosong dalam Global.asax file, dan kemudian tekan ENTER untuk menambahkan baris kosong kedua. Anda harus menjalankan langkah ini untuk menandai berkas sebagai yang telah diubah.
  11. Menyimpan perubahan ke Global.asax file.
  12. Dalam browser, klik Refresh lagi. Perhatikan bahwa TestVal variabel sesi menampilkan nilai awal tidak ada. Variabel dalam proses sesi Anda hilang.

REFERENSI

Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
303881  (http://support.microsoft.com/kb/303881/ ) PRB: Variabel sesi hilang dalam aplikasi ASP Web
317604  (http://support.microsoft.com/kb/317604/ ) Cara mengkonfigurasi SQL Server untuk menyimpan ASP.NET sesi
871042  (http://support.microsoft.com/kb/871042/ ) Mengapa adalah ASP saya.Aplikasi NET restart?

Berlaku bagi:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Kata kunci: 
kbcaching kbconfig kbprb kbstate kbsysadmin kbmt KB316148 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:316148  (http://support.microsoft.com/kb/316148/en-us/ )