Apakah ada jumlah maksimum INCLUDES di halaman ASP Klasik?

Saya membuat beberapa pembaruan pada halaman ASP Klasik dan saya perhatikan bahwa ketika saya menambahkan banyak INCLUDES (mis. <!--#INCLUDE FILE="Foo.asp" -->), saya mendapatkan "HTTP/1.1 500 Server Error" umum yang ditampilkan dalam huruf tebal di halaman.

Hal ini penting karena saya biasanya mendapatkan pesan kesalahan terperinci (kesalahan, file, baris, dll.)

Saya telah memeriksa bahwa tidak satu pun dari INCLUDES tersebut yang memiliki kesalahan. Sepertinya ini ada hubungannya dengan jumlah INCLUDES atau ukuran file .asp yang dikompilasi sepenuhnya.

Apakah ini sesuatu yang bisa saya perbaiki di pengaturan ASP untuk IIS?


person nbardach    schedule 12.04.2018    source sumber
comment
Sudahkah Anda memeriksa satu per satu semua yang disertakan? Ini bisa berupa kesalahan di beberapa halaman yang disertakan, bukan batasnya   -  person Ricardo Pontual    schedule 12.04.2018
comment
Ya, seperti yang saya nyatakan di atas, saya sudah memeriksa semua yang disertakan dan tidak ada kesalahan.   -  person nbardach    schedule 12.04.2018
comment
Anda mengatakan Anda mendapatkan kesalahan umum 500 - sudahkah Anda mengaktifkan pesan kesalahan ramah - ini mungkin membantu Anda menemukan masalahnya. chestysoft.com/asp-error-messages.asp   -  person John    schedule 12.04.2018
comment
Ya, benar. Saya biasanya mendapatkan pesan kesalahan terperinci dengan kode kesalahan, nomor baris, halaman, dll. Tapi ini adalah pesan yang bertuliskan HTTP/1.1 500 Server Error.   -  person nbardach    schedule 12.04.2018


Jawaban (2)


Saya tidak pernah mendengar tentang batasan penyertaan. namun mungkin saja halaman hasil Anda terlalu besar. Apakah Anda menghapus semua penyertaan dan mengembalikannya selangkah demi selangkah?

Sebagai alternatif, saya lebih suka jenis penyertaan dinamis. Dengan fungsi saya berikut ini Anda memiliki beberapa keuntungan: Anda dapat memasukkan file secara dinamis. Halaman hasil Anda hanya akan menyertakan file yang diperlukan. Variabel dari skrip utama dapat digunakan dalam file yang disertakan. Anda dapat memasukkan kode asp ke dalam database.

Namun cara ini memiliki satu batasan: Seluruh file yang disertakan harus ditulis dalam ASP. Jadi tidak boleh menggunakan ‹%= tanggal %>. Itu harus ditulis sebagai tanggal respon.tulis

Saya menggunakan fungsi untuk memasukkan file asp:

function fGet(getFile)
' source: http://www.aspfaq.de/index.asp?FID=14&ELE=1223
                Set objFileSys = Server.CreateObject("Scripting.FileSystemObject")
    sPfad=Server.MapPath("./")&"\" &getFile

    Set objFile = objFileSys.OpenTextFile(sPfad)
        ' --- read the file
        FileContent = objFile.ReadAll
        objFile.Close
    Set objFile = Nothing
    Set objFileSys = Nothing

     fileContent=replace(fileContent,chr(60)&chr(37),"")
     fileContent=replace(fileContent,chr(37)&chr(62),"")

     Execute(FileContent)


end function
person Michael Kothe-multiNETT    schedule 23.04.2018
comment
Balasan yang bagus dan skrip yang sangat membantu! Terima kasih, tapi tidak cukup menjawab pertanyaan saya. Tahukah Anda jika ada batasan pada halaman hasil ASP? Saya telah mencari dan tidak menemukan apa pun yang disebutkan. docs.microsoft.com/en-us/iis/ konfigurasi/system.webserver/asp/ - person nbardach; 23.04.2018
comment
balasan saya dimulai dengan Saya tidak pernah mendengar tentang batasan penyertaan. Saya hanya yakin, Anda memiliki masalah dengan memori. Apakah Anda menghapus semua penyertaan dan memasangnya kembali selangkah demi selangkah? - person Michael Kothe-multiNETT; 24.04.2018
comment
saya baru saja membuat tes kecil. file dengan lebih dari 100 penyertaan. Tidak ada masalah! - person Michael Kothe-multiNETT; 24.04.2018
comment
terima kasih! Saya juga telah membuat file pengujian dengan banyak penyertaan. Hasil yang sama seperti tes Anda. Saya pikir itu pasti ada hubungannya dengan ukuran halaman akhir tetapi saya tidak dapat menemukan info online mengenai batas halaman ASP. - person nbardach; 25.04.2018
comment
mungkin ini akan membantu: stackoverflow.com/questions/161712/ atau periksa pengaturan di IIS-Server Anda di bawah ASP. Mungkin Anda bisa mengubah pengaturan Cache atau Limits - person Michael Kothe-multiNETT; 25.04.2018

Coba <%response.buffer = false%>. Defaultnya adalah true di IIS5.0 dan yang lebih baru dan harus dimatikan secara eksplisit. Ini harus menjadi baris kode pertama di bawah direktif @LANGUAGE.

Mematikan buffer ini akan mengosongkan sumber daya sehingga Anda tidak mencapai hasil maksimal. Meningkatkan ukuran cache tidak selalu dapat dilakukan di hosting bersama, sehingga Anda mungkin akan menemui batasan ukuran.

person user11312624    schedule 04.04.2019
comment
Ide bagus. Akan memeriksanya. Terima kasih! - person nbardach; 04.04.2019