Kbase P130365: Multi-Threaded .NET application has threads left hanging around waiting for Progress.Common.Util.Wat
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  03/12/2008 |
|
Status: Unverified
SYMPTOM(s):
.NET application has many threads left running when they should have just one
Each thread establishes a connection to the AppServer, runs a program then disconnects from the AppServer using a local proxy variable
Debugging the code shows each thread is sleeping while waiting for Progress.Common.Util.WatchDog.Run()
FACT(s) (Environment):
AppServer is running in State-Reset operating mode
OpenEdge 10.x
Windows
CAUSE:
Application code sets the Progress.Open4GL.RunTimeProperties.IdleConnectionTimeout property to 1200. The IdleConnectionTimeout property only applies when connecting to the AppServer is session-free mode. Setting the IdleConnectionTimeout property causes a WatchDog object to run which will terminate a session-free connection after a certain amount of time but because the application was not actually using the session-free mode the WatchDog would just sit there forever.
FIX:
Modify the application and remove the line of code which sets the IdleConnectionTimeout property