Connect to remote COM+ object

  • Thread starter Thread starter sjoshi23
  • Start date Start date
S

sjoshi23

All

I'm trying to get this to work but I'm having problems. I have added
reference to a COM+ dll to get the class (type) I need. Now this is
hosted on a remote server (SP3DSMP1) as a COM+ component.

So I tried this from a client...

Type comType = Type.GetTypeFromProgID("NTNameService.UpdateNumber",
'SP3DSMP1_Name', true);
UpdateNumberClass oUp = Activator.CreateInstance(comType);

But this fails with the error:

Retrieving the COM class factory for remote component with CLSID
{975045DE-9237-4F30-9458-2830C41377DA} from machine SP3DSMP1 failed
due to the following error: 80110823.

Any ideas what I'm doing wrong here...??

thanks
Sunit
 
All

I'm trying to get this to work but I'm having problems. I have added
reference to a COM+ dll to get the class (type) I need. Now this is
hosted on a remote server (SP3DSMP1) as a COM+ component.

So I tried this from a client...

Type comType = Type.GetTypeFromProgID("NTNameService.UpdateNumber",
'SP3DSMP1_Name', true);
UpdateNumberClass oUp = Activator.CreateInstance(comType);

But this fails with the error:

Retrieving the COM class factory for remote component with CLSID
{975045DE-9237-4F30-9458-2830C41377DA} from machine SP3DSMP1 failed
due to the following error: 80110823.

Any ideas what I'm doing wrong here...??


All I can tell is that 80110823 means "The specified user cannot write to
the system registry.".
Don't know whether you (your COM+ code) are writing to the (remote)
registry, or whether this happens during registration of the COM+ component
in the catalog.

Willy.
 
All I can tell is that 80110823 means "The specified user cannot write to
the system registry.".
Don't know whether you (your COM+ code) are writing to the (remote)
registry, or whether this happens during registration of the COM+ component
in the catalog.

Willy.

Ok thanks. Which user would that mean, the current user calling the
code or the user specified in the Identity tab of the COM+ component.
Could not find any good examples on the web.

Sunit
 
Ok thanks. Which user would that mean, the current user calling the
code or the user specified in the Identity tab of the COM+ component.
Could not find any good examples on the web.

Sunit


Well, I don't know, it depends on who throws the exception (I guess it's the
Component), and what's the security context your component is running in.
However, before diving into security related issues (which is OT for this NG
anyway), you have to tell us whether you are explicitly accessing the
registry from your component or not. Also, you need to tell us how you
installed the component on the server and it's proxy on the client. Did you
register the component using regsvcs.exe or by code? Did you export the
proxy from the component services snap-in or by code?

Willy.
 
Well, I don't know, it depends on who throws the exception (I guess it's the
Component), and what's the security context your component is running in.
However, before diving into security related issues (which is OT for this NG
anyway), you have to tell us whether you are explicitly accessing the
registry from your component or not. Also, you need to tell us how you
installed the component on the server and it's proxy on the client. Did you
register the component using regsvcs.exe or by code? Did you export the
proxy from the component services snap-in or by code?

Willy.

Actually in my case the COM+ component can be residing in more than 1
server. I'm trying to write a test client that can invoke the COM+
component residing on any server (proved as an input) and return the
results. I created an interop reference by using the COM+ DLL and then
tried the rest of the code. If I use application proxy generated from
server A, won't it be tied to that server ? Also the COM+ component
was created in VB6.

Sunit
 
Actually in my case the COM+ component can be residing in more than 1
server. I'm trying to write a test client that can invoke the COM+
component residing on any server (proved as an input) and return the
results. I created an interop reference by using the COM+ DLL and then
tried the rest of the code. If I use application proxy generated from
server A, won't it be tied to that server ? Also the COM+ component
was created in VB6.

Sunit



Oh VB6 server, you won't be able to access the server remotely by just
referring to the servers typelib, you need to register the component and
typelib locally. Also, no one stops you from exporting the proxy at every
server running the server and install them at the client.
I would suggest you to start by installing a proxy and look what gives.

Willy.
 
Back
Top