c# - Activación de objetos COM+en una partición diferente
multiple-instances activation (1)
Asegúrese de que su Com sea pública y visible. Para hacer esto, agrega estas etiquetas a tu clase Com:
[ClassInterface(ClassInterfaceType.AutoDual)] [Guid("41E90F3E-56C1-4633-81C3-6E8BAC8BDD70")] [ProgId("..........")] [ComVisible(true)] public class MyCom {
Asegúrese de que su COM ha sido registrado. Puedes hacerlo usando la línea de comando:
C:/WINDOWS/Microsoft.Net/Framework/v4.0.30319/regasm "C:/......./xxx.dll"
Había creado una partición de dominio COM +, luego la asigné a una máquina servidor Windows 2008 e importé una aplicación COM + en ella.
Intenté usar el siguiente código C # para activar un objeto de esa partición específica en el servidor de forma remota:
//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);
Pero me sale esta excepción:
No se puede crear un receptor de canal para conectarse a la URL ''partición: {41e90f3e-56c1-4633-81c3-6e8bac8bdd70} / new: MyObject''. Probablemente no se haya registrado un canal apropiado.
¿Alguien sabe cómo se puede lograr tal activación?