Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Why does VFP have a MTDLL?
Message
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Miscellaneous
Thread ID:
00980541
Message ID:
00981941
Views:
54
Rick,
Just a note on mtdlls crashing the web server or getting C5s - it doesn't happen, at least for the past 4 years it hasn't on mine on any client web servers we've done. The reason it doesn't is that it's running in pooled isolation or high isolation protection. Add to this the use of COMRETURNERROR and all of your web errors are dealt with in a very behaved way, not crashing the web server at all or even the web application.
VFP mtdlls are definitely more light-weight and should scale better than having 3-4 VFP exes running in the background. And STAs are actually multi-threading, not simulating MT like running several .exes in the background. I'm not claiming vfp mtdll technology is perfect, only an improvement...

>And as long as your app works and is well behaved. The biggest problems with this model are: If you crash an STA COM component (with a C5 which unfortunately happens with VFP from time to time) you will likely hang the application. The app will continue to run but the COM component will be crashed inside of the service adn there's no way to clean up. Depending on how bad the crash is it might take the Web Server (or the hosting application) down with it or it might just stay loaded and not be working.
>
>COM is messy any way you look at it. It is too with Web Connection, BTW. The one difference is that Web Connection tries to manage the VFP COM objects for you so it can tell if things go wrong and automatically handle failures by reloading components as needed. But for config and true multi-threading it's no better (or worse) than MTDLL - like STA, Web Connection uses a hack (a pool manager) to provide a simulation of multi-threading.
>
>This is really the reason Microsoft now has .NET - because COM was not a super stable technology in this multi-threaded Web Server environment. It does away iwth the STA model and instead uses true multi-threaded components which is more efficient, less resource intensive and less prone to lockups.
>
>.NET addresses the key problems with COM:
>
>* easy installations (just copy files with the server running)
>* easy debugging (for development this is key!)
>* full multi-threading support
>* much lower resource usage (for the system management) on requests
>
>
>+++ Rick ---
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform