微软专家:配置为“库应用程序”的COM+应用程序
在COM+的组件服务配置工具里,一般在“激活”选项夹里把COM+应用程序配置为“服务器应用程序”,组件将在专用的服务器进程中被激活,我理解就是在COM+ Runtime,也就是dllhost.exe进程中运行。而另一个选项,“库应用程序”我不太清楚。它应该是在客户端的进程中运行吧,或者指定其他特定的EXE作为surrogate?那么在这个用户自定义的进程中,COM+应用程序的组件是否还能获得上下文环境,或者说是否还能获得IObjectContext,COM+组件的IObjectControl、IObjectConstruct是否还起作用?如果上述接口还起作用,那么是谁在这里起着COM+ runtime所起的interception作用?是用户自定义的进程自已提供,还是隐式地启动dllhost.exe,通过与COM+ runtime的跨进程通讯获得COM+的服务?如果是用户自定义的进程自已提供,那么是否意味着对这个进程的EXE要作编程,自已实现COM+的context、JIT、transaction等?
例如,ASP中可以引用COM+ configured component,这时将隐式启动dllhost.exe,实际上configured component是在dllhost.exe的进程中吧?如果组件配置为“库应用程序”,ASP是否不启动dllhost.exe呢?