Tôi đã tạo phân vùng miền COM + rồi ánh xạ nó tới máy chủ Windows 2008 và nhập ứng dụng COM + vào đó.COM + kích hoạt đối tượng trong một phân vùng khác
tôi đã cố gắng sử dụng mã C# sau đây để kích hoạt một đối tượng từ đó phân vùng cụ thể trên máy chủ từ xa:
//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);
Nhưng tôi nhận được ngoại lệ này:
Không thể tạo bồn rửa kênh để kết nối với Phân vùng URL: {41e90f3e-56c1-4633-81c3-6e8bac8bdd70}/mới: MyObject '. Kênh thích hợp có thể chưa được đăng ký.
Có ai biết cách kích hoạt như vậy có thể được thực hiện không?
Bạn đang cố gắng để kích hoạt một bản địa (theo nghĩa không NET) COM + thành phần hoặc chúng ta đang nói về một ServicedComponent (viết cho CLR ngay cả khi xuất bản sử dụng cơ sở hạ tầng COM +)? – gsscoder
Cho đến khi bạn cung cấp chi tiết này. Bạn có thể tham khảo câu hỏi khác này: http://stackoverflow.com/questions/12637878/how-can-i-instantiate-a-com-class-interface-generically và cũng để Marshal.BindToMoniker MSDN doc (http: // msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.bindtomoniker.aspx). – gsscoder
CLR ServicedComponent – Solid