Hi,
I have a client component (dll) and a Server Component (mutlithreaded exe) that communicate via DCOM. Everything works and the communication uses callbacks.
My problem lies in the time it takes to initialise the public object class when the server is called.
My exe starts up using sub main, however, the exe is called using a public function within a public class interface. The client passes across a Callback object into this class.
I have written log files to record the workflow.
Initially, the first time the exe is called from each client there is a delay of just under a minute before the server object (public class) has initialised. I print the time from the sub main of the server object. It takes less than a second to call the server. However, I print the time at the start of the public frunction exposed by the server object and it takes about 51 seconds before the time is printed in my log file.
I have tried everything to speed this up in my server code and client code, including using ByVal, WithEvents instead of call backs and MTS.
The initial delay is always the same. After about 6-7 minutes the DCOM server object disconnects from the client due to inactivity. The next call to the server then takes another 51 seconds.
If the client makes requests within this window the responde is down to 2 seconds.
Has any one ever come across this initial delay and disconnections?
I have tried most things, and we are now exploring the internal server commuincations, using packet sniffing.
I would be grateful if anyone could shed some light on this situation.
Best Regards
I have a client component (dll) and a Server Component (mutlithreaded exe) that communicate via DCOM. Everything works and the communication uses callbacks.
My problem lies in the time it takes to initialise the public object class when the server is called.
My exe starts up using sub main, however, the exe is called using a public function within a public class interface. The client passes across a Callback object into this class.
I have written log files to record the workflow.
Initially, the first time the exe is called from each client there is a delay of just under a minute before the server object (public class) has initialised. I print the time from the sub main of the server object. It takes less than a second to call the server. However, I print the time at the start of the public frunction exposed by the server object and it takes about 51 seconds before the time is printed in my log file.
I have tried everything to speed this up in my server code and client code, including using ByVal, WithEvents instead of call backs and MTS.
The initial delay is always the same. After about 6-7 minutes the DCOM server object disconnects from the client due to inactivity. The next call to the server then takes another 51 seconds.
If the client makes requests within this window the responde is down to 2 seconds.
Has any one ever come across this initial delay and disconnections?
I have tried most things, and we are now exploring the internal server commuincations, using packet sniffing.
I would be grateful if anyone could shed some light on this situation.
Best Regards