To cut a long story short..
Background...
We have a system written in VB6 which comprises of a load of COM DLL's which sit in MTS on an NT4 server and currently our only presentation layer is ASP which works fine.
Our Third party IVR system sits on an OS/2 server and needs to interface to this system. The third party company is reluctant to use some sort of COM bridge between OS/2 and NT4 and have asked if we can write a Socket Server for them to talk to.
Problem..
I want to have the same sort of concurrency with the socket server as I have with MTS. I have written the socket server so that every connection kicks off a method on a single instance of an ActiveX Exe which in turn kicks off a timer and then returns from the method (so as not to block the socket). When the timer ticks it breaks down the message and interfaces to the relevent COM DLL's which processes a transaction and then returns the result which is in turn raised back to the socket server.
It all works fine but when I batter it a bit occasionally I get an 'ActiveX can't create object' on the ActiveX Exe. I retry and everything carries on OK. However when you look in the task manager on the server there still exists the instance it said it couldn't create.
I have no reference to it (Ive checked when the error is raised) so therefore I can't set it to nothing to get rid of it. Obviously after a few the server will start to suffer.
Any ideas?
Background...
We have a system written in VB6 which comprises of a load of COM DLL's which sit in MTS on an NT4 server and currently our only presentation layer is ASP which works fine.
Our Third party IVR system sits on an OS/2 server and needs to interface to this system. The third party company is reluctant to use some sort of COM bridge between OS/2 and NT4 and have asked if we can write a Socket Server for them to talk to.
Problem..
I want to have the same sort of concurrency with the socket server as I have with MTS. I have written the socket server so that every connection kicks off a method on a single instance of an ActiveX Exe which in turn kicks off a timer and then returns from the method (so as not to block the socket). When the timer ticks it breaks down the message and interfaces to the relevent COM DLL's which processes a transaction and then returns the result which is in turn raised back to the socket server.
It all works fine but when I batter it a bit occasionally I get an 'ActiveX can't create object' on the ActiveX Exe. I retry and everything carries on OK. However when you look in the task manager on the server there still exists the instance it said it couldn't create.
I have no reference to it (Ive checked when the error is raised) so therefore I can't set it to nothing to get rid of it. Obviously after a few the server will start to suffer.
Any ideas?