1

Тема: JS: WinHttp.WinHttpRequest.5.1, "Время ожидания операции истекло"

Приветствую, коллеги! При работе с WinHttp.WinHttpRequest.5.1 возникает ошибка "Время ожидания операции истекло" даже при установке WINHTTP_OPTION_SEND_TIMEOUT. Лимит остается в 30 сек. Как победить это?


function SendFileToURL(fileName, param, url){
   if (/Array/i.test(fileName.constructor+""))
   {
for (var i=0, l=fileName.length;i<l;i++)
SendFileToURL(fileName, param, url);
return;
   }
   
   var boundary = "---------------------------aspuploader"
   var http = new ActiveXObject("WinHttp.WinHttpRequest.5.1")
   var st = new ActiveXObject("ADODB.Stream")
   st.Type = 1
   st.Open()
   st.LoadFromFile(fileName)
   var fileBody = st.Read()
   st.Close();
   st.Open(); st.Type = 2
   st.Charset = "Windows-1251"
   st.WriteText("--" + boundary + "\r\nContent-Disposition: form-data; name=\""+param+"\"; filename=\"" + fileName + "\"\r\nContent-Type: octet/stream\r\n\r\n")
   st.Position = 0; st.Type = 1; st.Position = st.Size
   st.Write(fileBody)
   st.Position = 0; st.Type = 2; st.Position = st.size
   st.WriteText("\r\n--" + boundary + "--")
   st.Position = 0
   st.Type = 1
   http.Option(7) = 1000;//WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
   http.Option(4) = 0x3300;
   http.Option(5) = 1000;// WINHTTP_OPTION_SEND_TIMEOUT,
   http.Open("POST",url,false)
   http.SetRequestHeader("Content-Type","multipart/form-data; boundary=" + boundary)
   http.Send(st.Read())
}

2

Re: JS: WinHttp.WinHttpRequest.5.1, "Время ожидания операции истекло"

решено через http.SetTimeouts(0,0,0,0)

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !