WebClientProtocol Timeout problem
Jeg kalder en webservice, og for at se om der er "hul" igennem, prøver jeg først at pinge den med en lav timeout, for derefter at kalde selve servicen. Dette vil give en langt bedre responstid hvis der ikke er forbindelse, men en lidt dårligere hvis der er, da der jo først skal pinges.Jeg har desværre problemer med Timeout propertien
Min kode er:
long start = Environment.TickCount;
int defaultTimeout = poshService.Timeout;
try
{
poshService.Timeout = 500;
if(poshService.Ping())
{
System.Diagnostics.Debug.WriteLine("PING TRUE "+(Environment.TickCount-start));
poshService.Timeout = defaultTimeout;
return true;
}
else
{
System.Diagnostics.Debug.WriteLine("PING FALSE "+(Environment.TickCount-start));
poshService.Timeout = defaultTimeout;
return false;
}
}
catch(Exception e)
{
System.Diagnostics.Debug.WriteLine("PING FAILED "+e.Message+" "+(Environment.TickCount-start));
poshService.Timeout = defaultTimeout;
return false;
}
Dette resulterer efter 5 testruns i følgende output :
9/7/2005 10:54:18 AM CALL PING
9/7/2005 10:54:19 AM PING FAILED The operation has timed-out. 1225
9/7/2005 10:54:20 AM POSH Project.Domain.ControlPoint.Clear
9/7/2005 10:54:21 AM SEARCH
9/7/2005 10:54:21 AM CALL PING
9/7/2005 10:55:01 AM PING FAILED Unable to read data from the transport connection. 40141
9/7/2005 10:55:06 AM POSH Project.Domain.ControlPoint.Clear
9/7/2005 10:55:06 AM SEARCH
9/7/2005 10:55:06 AM CALL PING
9/7/2005 10:55:28 AM PING FAILED Unable to read data from the transport connection. 21871
9/7/2005 10:55:32 AM POSH Project.Domain.ControlPoint.Clear
9/7/2005 10:55:33 AM SEARCH
9/7/2005 10:55:33 AM CALL PING
9/7/2005 10:55:33 AM PING FAILED The operation has timed-out. 515
9/7/2005 10:55:36 AM POSH Project.Domain.ControlPoint.Clear
9/7/2005 10:55:36 AM SEARCH
9/7/2005 10:55:36 AM CALL PING
9/7/2005 10:56:15 AM PING FAILED Unable to read data from the transport connection. 38693
9/7/2005 10:56:17 AM POSH Project.Domain.ControlPoint.Clear
-her er timeout jo ofte langt over de 500!
