Clodo
2006-12-14 16:01:17 UTC
I have different VC++ application which downloads files from server and
process that data at client side. This application uses WinINet.dll
functions for connecting to server through HTTP protocol. It is working fine
with huge data. Recently customers upgraded IE6 to IE7 and they are facing
problems now. while downloading huge data, application showing a timeout
error.
I discover that previous WinINet timeout (with IE6) was infinite, and now
with IE7 it's 30 seconds.
I also discover and tested a solution that work:
CHttpConnection* pServer = NULL;
DWORD dwTimeOut = <a big value or 0 for infinite>;
pServer = pSession->GetHttpConnection(....);
pServer->SetOption(INTERNET_OPTION_RECEIVE_TIMEOUT, &dwTimeOut,
sizeof(dwTimeOut));
This piece of code resolve my problem, BUT...
my company don't have anymore the source code for an old application
installed in many customers (houndred)...
We cannot migrate to an alternative application all this customers in a few
days, but actually many of this costumers (who have IE7) are blocked... I
tried to investigate if the timeout value can be set in registry with no
success, so actually the only possible solution may be disassembly the old
application, and insert the assembly code of the InternetSetOption call, but
seem to be complicated...
The question is: Exists other solution? Sorry for my english! Thanks!
process that data at client side. This application uses WinINet.dll
functions for connecting to server through HTTP protocol. It is working fine
with huge data. Recently customers upgraded IE6 to IE7 and they are facing
problems now. while downloading huge data, application showing a timeout
error.
I discover that previous WinINet timeout (with IE6) was infinite, and now
with IE7 it's 30 seconds.
I also discover and tested a solution that work:
CHttpConnection* pServer = NULL;
DWORD dwTimeOut = <a big value or 0 for infinite>;
pServer = pSession->GetHttpConnection(....);
pServer->SetOption(INTERNET_OPTION_RECEIVE_TIMEOUT, &dwTimeOut,
sizeof(dwTimeOut));
This piece of code resolve my problem, BUT...
my company don't have anymore the source code for an old application
installed in many customers (houndred)...
We cannot migrate to an alternative application all this customers in a few
days, but actually many of this costumers (who have IE7) are blocked... I
tried to investigate if the timeout value can be set in registry with no
success, so actually the only possible solution may be disassembly the old
application, and insert the assembly code of the InternetSetOption call, but
seem to be complicated...
The question is: Exists other solution? Sorry for my english! Thanks!