D
Dan Holmes
I know how to make my .net classes visible to COM but can c#/.net create an out of process server that is accessible via
COM?
dan
COM?
dan
Nicholas Paldino said:Dan,
COM interop doesn't support creating an out of process server in .NET.
You will have to use unmanaged code to create the host, and then you can
provide the implementation through .NET in the host.
The bottom line is i need an out of process host for a COM dll. The calling process will be SQL server and i don't wantNicholas said:Anthony,
It could be, but that is not what the OP asked (he was very specific
about an out of process COM server/ActiveX EXE). I agree that a COM+
application is a much, MUCH better alternative though (depending on the
need).
I agree on all accounts but the COM dll is unmananged code. I have already written a SQLCLR proc that will crash SQLNicholas said:Dan,
sp_OA is a REALLY bad idea. As well as out of process calls on the same
machine for SQL Server, IMO. Since you can do SQL CLR, I suggest you use
that, as SQL Server has a great level of control over the CLR, and can
control the memory management of the CLR, as well as threads and the like so
as to optimize its use in SQL Server.
Dan Holmes said:I agree on all accounts but the COM dll is unmananged code. I have
already written a SQLCLR proc that will crash SQL using that dll.
I don't have time to rewrite the DLL in managed code for SQLCLR
consumption. I don't want that dll to crash the SQL process. I think my
best choice is an out of process call from SQLCLR. Since .net interop
can't create an out of process server what are my options?
Is there MS documentation that says out of process ActiveX servers can't be created by .net COM interop? I will have toNicholas said:Dan,
In this case, hosting in COM+ would be the best solution, and then
making the calls to the COM+ service through CLR integration in SQL Server,
IMO.
amdrit said:Couldn't the O/P also simply create a wrapper COM component as well? He
said he knows how to make the objects available to COM, create an
ActiveX.exe and wrap the method calls there. COM+ to means hosted service
supporting impersonation, it's for the big dogs. ActiveX.exe to me means
simple out of process support.