Server components can be implemented either as DLL (in-process) servers or EXE (out-process) servers. Packaging your component as a DLL is recommended, because it provides superior performance.
Some control-container administration environments allow the administrator to choose the process in which a DLL component runs. This simplifies the job of building servers that can run in the client process, on a remote network node, inside an SQL Server, or inside an Internet server.
One disadvantage of EXE components is that they cannot be stored in the Application object. The only way to create an EXE component with application scope is to declare it with an <OBJECT> tag. However, when this object is used, the Web server will lock the application down to a single thread, the one that created the object. This will reduce server performance significantly, and should only be considered for intranet applications.
Also, if a EXE component is created with session scope or is stored in the Session object, the Web server will lock the session down to the single thread that created the component.
© Microsoft Corporation. All rights reserved.