General discussion

Locked

Component Management

By Cricket_Moon ·
Hey there. We are currently using NT 4 server, and have our communications dll registered with MTS.
This is what happens:
The client sends variables to the dll on the server regarding who they are. Based on that, their FTP directory is changedand they recieve the correct logon and password for that directory. Each account that uses our software is using a different directory, with different logons. New files on their system that pertain to our applicaton are uploaded to the server. They disconnect, then reconnect and re logon. New files on the server are downloaded to their computers. Simple.
However, we believe that because of MTS caching instances of our DLL, some accounts are recieving other account's information. We just recently had one account recieve the upgrade to the software that was intended for another account. Now, because our software is extrememly customized to the individual account, this is causing some major concerns. It seems that the more people we have hitting the dll, the more this problem happens.
It has been suggested that we use DLLHost, but we cannot get it to work. It has also been suggested that we upgrade to Windows 2000 and use the Component Services. But, we would still need to know how to isolate each instance's variables, and keep them from being cached and shared across accounts. Any suggestion would be seriously appreciated.

This conversation is currently closed to new comments.

4 total posts (Page 1 of 1)  
| Thread display: Collapse - | Expand +

All Comments

Collapse -

Component Management

by Cricket_Moon In reply to Component Management

Just telling me where to look for real answers would be great...

Collapse -

Component Management

by Wayne M. In reply to Component Management

I don't think this is an MTS problem. Your clients should be each creating a new component instance. This is driven by the client code. I assume you are not trying to use singleton objects (avoid this).

If you want to make doubly sure there isno problem, you can explicitly clear the internal storage of your component in the contructor. This is usually not necessary as most objects are created in this manner, however, if you are using char[] arrays, for example, the uninitialized state is undefined and may contain data from a previous instance.

If you want to track what is going on, I would recommend writing information to a log file. Write a function that opens a file, writes a string, and closes the file. Now call this function in your component contructor, destructor, and your user function(s). You should be able to track what happens and see what input parameters your users are providing and the results you are passing back. You may also choose to write to the NT event log instead. It is a little bit more complicated to use the event log, but you don't have to manage and delete log files from your system with that approach.

I don't think this is an MTS related problem as MTS does not tend to persist data. Dig into your DLL a little further and try to see what is happening.

Collapse -

Component Management

by Cricket_Moon In reply to Component Management

Poster rated this answer

Collapse -

Component Management

by Cricket_Moon In reply to Component Management

This question was closed by the author

Back to Web Development Forum
4 total posts (Page 1 of 1)  

Related Discussions

Related Forums