Direkomendasikan: Metode ASP.NET untuk mendapatkan alamat IP dan MAC Metode mendapatkan alamat IP server sederhana dan praktis untuk menggunakan metode DNS, sebagai berikut: private void buttonip_click (pengirim objek, System.eventArgs e) {System M.net.ipaddress [] addresslist = dnsgethostbyname (DNS
7.4.4 Menggunakan halaman kesalahan IIS
Apa yang terkait dengan proses penanganan kesalahan ASP adalah memberikan IIS halaman kesalahan yang dapat disesuaikan. Bahkan, fitur ini juga ditemukan di IIS 4.0. Tetapi objek ASP bawaan ASP Asperror lebih mudah digunakan dan menyediakan fitur yang lebih kuat.
Dalam Bab 4, ketika kita melihat metode server.Execute dan Server.Transfer, kita sudah berbicara tentang cara membuat halaman kesalahan yang disesuaikan. Kami juga membahas dan menggunakan objek Asperror, tetapi metode ini tunduk pada batasan tertentu. Di bagian ini, kami akan memperkenalkan cara menggabungkan halaman kesalahan yang disesuaikan dengan objek Asperror untuk membuat cara yang lebih baik untuk menangani kesalahan ASP.
Kita dapat menggunakan VBScript untuk memeriksa konten objek Asperror, sehingga membuat halaman kesalahan khusus. Bangun string yang berisi informasi komprehensif tentang konten kesalahan dan tuliskan ke file log pada disk server. Namun, tidak mungkin untuk merancang halaman web untuk hanya membuat pengunjung melihat bahwa halaman web tidak tersedia. Ini harus memungkinkan pengunjung untuk memilih apakah akan memuat ulang halaman web sebelumnya atau kembali ke halaman beranda, sehingga mereka tidak menyadari bahwa kesalahan telah terjadi.
Meskipun kami menggunakan VBScript untuk membuat halaman web ini, beberapa fitur yang digunakannya juga berlaku untuk JScript, dan juga lebih mudah untuk mengonversi dua bahasa skrip.
Contoh file untuk bab ini dan bab -bab lain dari buku ini dapat diunduh dari situs http://www.wrox.com.
1. Menyiapkan halaman kesalahan khusus
Sebelum Anda dapat menggunakan halaman kesalahan yang disesuaikan, Anda harus membuat pengaturan yang sesuai di Internet Services Manager (lihat Bab 4 untuk mengatur metode). Muat file sampel ke direktori wwwroot komputer, buka kotak dialog Properties dari subdirektori Bab07, di tab Kesalahan Kustom, gulir daftar dan pilih entri HTTP Error 500: 100, klik tombol Edit Properties, dan ketik URL halaman kesalahan yang disesuaikan Custom_error.aspasp, Aspar
Sekarang ketika kesalahan ASP terjadi pada halaman di Bab07 Subdirektori, halaman kesalahan yang disesuaikan akan dibuka.
2. Gunakan halaman kesalahan khusus
Buka direktori Bab07 di browser Anda dan pilih tautannya untuk menggunakan halaman kesalahan khusus. Halaman ini menampilkan serangkaian tombol untuk menghasilkan berbagai jenis kesalahan. Klik tombol yang ditandai, muat halaman dengan kesalahan sintaksis
Ini akan memuat halaman sederhana yang disebut syntax_error.asp. Namun, halaman ini tidak dapat dilihat karena halaman ini berisi kesalahan sintaksis. ASP mengakhiri kompilasi/eksekusi halaman ini dan mentransfer eksekusi ke halaman kesalahan khusus. Halaman ini menampilkan detail kesalahan dan dua tombol, yang digunakan untuk kembali ke halaman sebelumnya (menu utama) atau untuk kembali ke halaman beranda default situs web.
Halaman ini juga menambahkan laporan kesalahan ke file log bernama custom_error.log di server disk c:/folder temp. Ini dapat dibuka dan dilihat di editor file. File log telah mencatat beberapa kesalahan.
Jika Anda mendapatkan pesan di halaman, menunjukkan bahwa file log tidak dapat ditulis, itu mungkin karena akun IUSR_MACHINENAME (IUSR_COMPUTER NAME) tidak memiliki izin untuk mengakses direktori C:/Temp. Saat menguji halaman ini, akun IUSR_Machinename harus diberikan semua kontrol atas direktori ini, atau kode program dari halaman Custom_error.asp harus diubah untuk menunjuk ke folder di mana IUSR memiliki kontrol penuh.
Satu -satunya alasan mengapa pesan kesalahan muncul di halaman adalah karena di halaman Cause_error.asp kami memilih kotak centang yang sesuai. Jika Anda mematikan opsi ini dan klik tombol lagi, Anda tidak akan melihat detail kesalahan, tetapi pesan kesalahan masih direkam di file log kesalahan custom_error.log pada disk server.
Kotak centang Informasi Debugging Display memberikan halaman kesalahan khusus (daripada file log) lebih banyak informasi dan membantu debug halaman yang menggunakan nilai koleksi objek bawaan ASP.
Masalah ini akan dibahas nanti di bagian berikut dari bab ini, dan Anda juga dapat mempelajari tentang jenis informasi kesalahan lain yang disediakan oleh tombol lain pada halaman Penyebab Kesalahan. Perhatikan bahwa beberapa tombol dapat memberikan lebih banyak informasi daripada yang lain. Secara khusus, hanya tombol terakhir yang memberikan nilai kode kesalahan ASP (di sini adalah ASP 0177).
(1) Fungsi Halaman Penyebab
Seperti halnya contoh halaman yang dibahas sebelumnya, halaman yang menyebabkan kesalahan menggunakan teknik yang sama, menggunakan <Morm> untuk mengirimkan nilai ke halaman yang sama. Kemudian klik tombol Kirim pada jendela tampilan program ASP, lalu jalankan bagian kode yang sesuai. Periksa juga apakah dua kotak centang pada halaman dipilih. Jika demikian, program pertama kali menetapkan satu atau dua variabel tingkat sesi untuk menunjukkan ini.
<%
'Lihat apakah kami menampilkan informasi kesalahan dan debug
'Tetapkan variabel sesi untuk diambil di halaman kesalahan khusus
If len (request.form (chkshowerror)) lalu
Sesi (showerror) = ya
Kalau tidak
Sesi (showerror) =
Akhiri jika
If len (request.form (chkshowdebug)) lalu
Sesi (showdebug) = ya
Kalau tidak
Sesi (showdebug) =
Akhiri jika
...
%>
Karena penggunaan server.transfer, ketika kesalahan terjadi, seluruh lingkungan ASP dari halaman web yang sedang berjalan diteruskan ke halaman kesalahan khusus oleh IIS. Namun, nilai variabel skrip tidak diteruskan ke halaman kesalahan kustom, sehingga variabel sesi harus digunakan, atau nilai harus ditambahkan ke koleksi permintaan.
Setelah mengatur variabel sesi, program terus melihat tombol mana yang telah diklik. Setiap jenis kesalahan (kecuali tipe pertama) dihasilkan dengan menjalankan kode ASP yang sesuai, dan jenis kesalahan pertama membutuhkan panggilan halaman lain.
...
'Cari perintah yang dikirim dari tombol bagian formulir
If len (request.form (cmdsyntax)) lalu
Respons.clear
Response.redirect syntax_error.asp
Akhiri jika
If len (request.form (cmdparamType)) lalu
intdate = kesalahan
Intday = Day (Intdate)
Akhiri jika
If len (request.form (cmdarray)) lalu
Redup arrhis (3)
arrthis (4) = menyebabkan kesalahan
Akhiri jika
If len (request.form (cmdfile)) lalu
Set ObjFSO = Server.CreateObject (Scripting.FilesystemObject)
Setel objtstream = objfso.opentextFile (doD_not_exist.txt)
Akhiri jika
If len (request.form (cmdpageCount)) lalu
Setel objpageCount = server.CreateObject (mswc.pagecounter)
ObjPagecount.WrongProperty = 10
Akhiri jika
If len (request.form (cmdObject)) lalu
Set ObjTHIS = Server.CreateObject (DoNTnot.exist)
Akhiri jika
Bagikan: Akhirnya menemukan solusi untuk melewati batas Subskrip ASP Kemarin, situs web film saya memiliki masalah saat menghasilkan halaman konten statis. Itu diminta untuk melewati garis dengan subskrip. Saya belum pernah menemukannya sebelumnya, jadi saya tidak tahu apa itu, jadi saya mencari jawaban secara online, tetapi sangat sulit ditemukan. Saya menemukan banyak tetapi tidak bisa menyelesaikan masalah mendasar.