我创建了一个 COM+ 域分区,然后将其映射到 Windows 2008 服务器计算机,并将 COM+ 应用程序导入其中。
我尝试使用以下 C# 代码远程激活服务器上特定分区中的对象:
//partition guid
Guid guidMyPartition = new Guid("41E90F3E-56C1-4633-81C3-6E8BAC8BDD70");
//parition moniker
string uri= "partition:{" + guidMyPartition + "}/new:MyObject";
Type t = Type.GetTypeFromProgID("MyObject", "MyServer");
MyObject obj = (MyObject)Activator.GetObject(t, uri);
但我得到这个例外:
无法创建通道接收器以连接到 URL“partition:{41e90f3e-56c1-4633-81c3-6e8bac8bdd70}/new:MyObject”。可能尚未注册适当的频道。
有谁知道如何完成这样的激活?
-
确保您的 Com 是公开且可见的。为此,请添加这些
标记到您的 Com 类:
[ClassInterface(ClassInterfaceType.AutoDual)]
[Guid("41E90F3E-56C1-4633-81C3-6E8BAC8BDD70")]
[ProgId("..........")]
[ComVisible(true)]
public class MyCom
{
-
确保您的 COM 已注册。您可以使用命令行执行此操作:
C:\WINDOWS\Microsoft.Net\Framework\v4.0.30319\regasm "C:\.......\xxx.dll"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)