Активация объекта COM+ в другом разделе
Я создал раздел домена 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:{41e90f3e-56c1-4633-81c3-6e8bac8bdd70}/new:MyObject'. Соответствующий канал, вероятно, не был зарегистрирован.
Кто-нибудь знает, как можно осуществить такую активацию?
1 ответ
Убедитесь, что ваш ком публичный и видимый. Для этого добавьте эти теги в свой класс 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"