我想知道如何将.NET C#COM对象(使用.NET的COM Interop工具创建)添加到Visual Studio 2008 ATL EXE服务器。基本上,我试图创建一个进程外的自动化服务器来保存我的C#COM对象,以允许它充当许多客户端的Singleton服务器。我认为我需要做的就是将正确的条目添加到ATL EXE服务器的IDL文件中?这听起来正确吗?任何人也有任何想法如何实际实例化我的C#COM对象呢?我猜我需要重新定义它的GUID,否则它会马上实例化C#。谢谢你的帮助。HOWTO将.NET COM Interop集合到ATL EXE服务器上?
-David
例如: 。
import "oaidl.idl";
import "ocidl.idl";
[
uuid(A9F9E81F-D5FE-4718-8078-E8378CFB3D3C),
version(1.0),
helpstring("Libreria dei tipi SSOLoginDLLServer 1.0")
]
library SSOLoginDLLServerLib
{
importlib("stdole2.tlb");
import "SSOLoginDLL.tlb"; <-- Reference included to my C# project which creates the TLB
[
uuid(A8FD5BC5-3B8D-4828-B9CB-6496A7A6D9B9)
]
coclass CSSOLogin
{
[default] interface ISSOLogin;
[default, source] dispinterface ISSOLoginEvents;
};
};
这听起来像你有三个问题那种混乱了。 (1)如何在ATL中创建一个COM服务器; (2)如何使该服务器单实例和/或有实例共享一个单例资源; (3)从该服务器(或资源)中如何实例化和使用另一个COM对象(恰好在.NET中实现)。你能否澄清你所困扰的是哪些? – Eric 2009-12-11 03:33:42
另外两个我可以验证/测试一次我有你的#3的答案:),所以我会说如何让ATL EXE COM服务器向外界提供另一个已经写好的COM对象。谢谢。 – David 2009-12-11 11:32:12