Я не могу создать XML-файл размером более 25,6 МБ из IIS (win 2016) с asp classic - PullRequest
1 голос
/ 21 сентября 2019

Используя объект ASP «CreateTextFile», я не могу создать XML размером более 25,6 МБ.Сценарий в ASP, который читает около 50 000 записей в SQL Express, выполняется регулярно, но останавливает файл 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 голосов
/ 23 сентября 2019

Я не думаю, что это решение, это настройка web.config:

0 голосов
/ 23 сентября 2019

Чтобы устранить эту проблему, выполните следующие действия:

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>

ASPLimits

Request Limits

Установите предельное значение, превышающее размер файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...