我无法使用ASP Classic从IIS(Win 2016)生成大于25.6 MB的XML文件

时间:2019-09-21 07:36:45

标签: iis-10

使用“ CreateTextFile” ASP对象,我不能创建大于25.6 MB的XML。 ASP中的脚本在SQL Express上读取约50,000条记录,该脚本正常运行,但是在文件到达此大小时会停止xlm文件。 没有错误产生。 我已经在IIS配置上进行了所有尝试,但是不能超出此限制。 你有什么想法吗?

这是代码源:`

Dim OggFile, origine, OggTextStream
Set fs = CreateObject("Scripting.FileSystemObject")
strPath = Server.MapPath("/")  & "/csv/file/kijiji" 
if fs.FolderExists(strPath)=False then
fs.CreateFolder(strPath) 

'elimina vecchi file
if fs.FileExists(strPath & "/prodotti_kijiji.xml") then
fs.DeleteFile(strPath & "/prodotti_kijiji.xml")
fs.DeleteFile(strPath & "/prodotti_kijiji.zip")
'  Response.End()
end if

qry_gia_esportati="SELECT * FROM kijiji_controlloID"
rs1.Open qry_gia_esportati
Do Until rs1.EOF
IDkijiji=IDkijiji & "," & rs1("IDkijiji")
rs1.MoveNext
loop
rs1.Close
IDkijiji=IDkijiji & ","


qry_prodotto="SELECT " _
& " magazzino.IDmagazzino, magazzino.titolo, magazzino.descrizione_breve, magazzino.descrizione_lunga, magazzino.prezzo, magazzino.IDcategoria, magazzino.codice, magazzino.data_prezzo," _
& " produttori.ragione_sociale as produttore," _
& " distributori.ragione_sociale as distributore," _
& " categorie.categoria, categorie.categoria_uk, categorie.categoria_de, categorie.categoria_kijiji," _
& " iva.valore_iva," _
& " aree.area, aree.area_uk, aree.area_de, aree.idarea" _
& " FROM ((((magazzino " _
& " LEFT JOIN produttori ON magazzino.IDproduttore = produttori.IDproduttore)" _
& " LEFT JOIN distributori ON magazzino.IDdistributore = distributori.IDdistributore)" _
& " LEFT JOIN categorie ON magazzino.IDcategoria = categorie.IDcategoria)" _
& " LEFT JOIN iva ON magazzino.IDiva = iva.IDiva)" _
& " LEFT JOIN aree ON categorie.IDarea = aree.IDarea" _
& " WHERE (((magazzino.disponibile)=1) AND ((magazzino.visibile)=0) AND ((magazzino.IDcategoria)<>256) AND ((magazzino.IDcategoria)<>280) AND ((magazzino.IDcategoria)<>300) AND ((magazzino.titolo)<>'Nuovo prodotto') AND ((magazzino.pezzi)>0))" _
& " ORDER BY IDmagazzino ASC"
rs1.Open(qry_prodotto)
'comincia a scrivere nel file   

'crea il file xml e lo apre
file_percorso="/csv/file/kijiji/prodotti_kijiji.xml"
origine=server.Mappath(file_percorso)

fs.CreateTextFile (origine)
Set OggFile = fs.GetFile (origine)
Set OggTextStream = OggFile.OpenAsTextStream(2)
OggTextStream.WriteLine  "<?xml version=""1.0"" encoding=""UTF-8""?>" 
OggTextStream.WriteLine  "<kijijipartners_xml>" 
 OggTextStream.WriteLine  "<annunci>" 


Do Until rs1.EOF


descrizione_lunga= TogliHtml(rs1("descrizione_lunga"))
if descrizione_lunga="" then descrizione_lunga= TogliHtml(rs1("descrizione_breve"))
titolo=TogliHtml(rs1("titolo"))
codice=rs1("codice")
IDchk="," & rs1("IDmagazzino") & ","

if instr(IDkijiji,IDchk)>0 then Enum_azione="Inserisci" else Enum_azione="Elimina"
if rs1("prezzo")>0 then
enum_tipo="SPECIFIED_AMOUNT"
prezzo=int(rs1("prezzo"))
Else
enum_tipo="PLEASE_CONTACT"
prezzo=""
End If
id_chk=id_chk & ", " & rs1("IDmagazzino")





OggTextStream.WriteLine  "<annuncio><azione>"& Enum_azione &"</azione><id>" & rs1("IDmagazzino") & "</id><titolo><![CDATA[" & chk_tit(titolo) & "]]></titolo><descrizione><![CDATA[" & chk_tit(descrizione_lunga) & "]]></descrizione><categorie><categoria codice = """ & rs1("categoria_kijiji") & """></categoria></categorie><data_pubblicazione>" & rs1("data_prezzo") & "</data_pubblicazione><url_redirect><![CDATA[" & Application("startengine_indirizzosito") & "/store/_it/prodotto.asp?idp=" & rs1("IDmagazzino") & "]]></url_redirect><luoghi><comune codice = """ & codice_istat & """></comune></luoghi><salario><tipo_prezzo>"& enum_tipo & "</tipo_prezzo><ammontare>" & prezzo & "</ammontare></salario><email>" & Application("StartEngine_mail_gestore") & "</email><telefono>" & Replace(Application("startengine_tel"),"+39","") & "</telefono><venditore codice = ""2""></venditore>" 

if fs.FileExists(server.Mappath("/") & "/archivio/fotografie/" & rs1("IDmagazzino") & ".jpg") then
OggTextStream.WriteLine  "<pictures>" 
OggTextStream.WriteLine  "<picture_url>" & Application("startengine_indirizzosito") & "/archivio/fotografie/" & rs1("IDmagazzino") & ".jpg</picture_url>" 
OggTextStream.WriteLine  "</pictures>" 
end if
OggTextStream.WriteLine  "</annuncio>" 
rs1.MoveNext
loop
rs1.close
OggTextStream.WriteLine  "</annunci>" 
OggTextStream.WriteLine  "</kijijipartners_xml>" 
OggTextStream.close
if id_chk<>"" then 
id_chk = right(id_chk,len(id_chk)-1)
End If
'svuoto la tabella di controllo con i nuovi dati
qry_del="DELETE FROM kijiji_controlloID "
rs1.Open qry_del
a=Split(id_chk,",") 
for each y in a
qry_insert="INSERT INTO kijiji_controlloID VALUES ("& y &");"
rs1.Open qry_insert
next

' creo file .ZIP
dim zip, filepath
filepath = "/csv/file/kijiji/prodotti_kijiji.zip"
set zip = new aspZip
zip.OpenArquieve(filepath)
zip.Add(file_percorso)
zip.CloseArquieve()
set zip = nothing

`

2 个答案:

答案 0 :(得分:0)

要解决此问题,请按照以下步骤操作:

1)打开iis管理器,然后从连接窗格中选择站点。

2)单击ASP功能。

enter image description here

3)展开“限制属性”图标,并将“ maxRequestEntityAllowed”中的值更改为大于200000的值。

enter image description here

maxRequestEntityAllowed用于控制请求中可以接受的数量。这由maxRequestEntityAllowed属性处理。

 <configuration>
   <system.webServer>
     <asp>
       <limits maxRequestEntityAllowed="200000" />
     </asp>
   <system.webServer>
 <configuration>

4)单击“应用”按钮。并在更改后重新启动iis服务器。

您还可以尝试设置maxAllowedContentLength,该值控制响应中允许发送多少数据。

 <configuration>
   <system.webServer>
     <security>
       <requestFiltering>
         <requestLimits maxAllowedContentLength="30000000" />
       </requestFiltering>
     </security>
   </system.webServer>
 </configuration>

ASP Limits

Request Limits

将限制值设置为大于文件大小。

答案 1 :(得分:0)

我不认为这是解决方案,这是web.config的设置: