Creé una partición de dominio COM +, luego la asigné a una máquina servidor de Windows 2008 e importé una aplicación COM + en ella.Activación de objeto COM + en una partición diferente
He intentado utilizar 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 consigo esta excepción:
No se puede crear receptores de canal para conectarse a Partición 'URL': {41e90f3e-56c1-4633-81c3-6e8bac8bdd70}/new: MyObject '. Probablemente no se haya registrado un canal apropiado.
¿Alguien sabe cómo se puede lograr dicha activación?
¿Estás tratando de activar un nativo (no en el sentido .NET) componente COM + o estamos hablando de un ServicedComponent (escrito por CLR, incluso si se ha publicado usando la infraestructura COM +)? – gsscoder
Hasta que proporcione este detalle. Puede consultar esta otra pregunta: http://stackoverflow.com/questions/12637878/how-can-i-instantiate-a-compliance-interface-generically y también a Marshal.BindToMoniker MSDN doc (http: // msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.bindtomoniker.aspx). – gsscoder
CLR ServicedComponent – Solid