Joel P.
Joel P.

Reputation: 869

Access COM objects on another box from .NET (without deprecated DCOM, remoting)

I have to integrate my .NET server app with a vendor's product. The vendor's product will be on its own server and has a supported & documented API, but alas, only as COM objects. Since DCOM and .NET remoting are both deprecated, is there a supported (i.e. not at risk of being removed in .NET 5) way to perform this integration without having to create & install a web service on the vendor box & web client on my box to proxy these requests across the network to COM?

Note that I'm very comfortable writing & consuming web services (REST when I can, SOAP when I have to). I'd just like to keep the topography of this app simple, avoid dual deploys, etc. For the same reason, I've avoided WCF since it seems like a lot of overhead, but if WCF supports exposing the underlying COM interface over the network, I'd happily use it. Otherwise, I guess I'm designing, writing, deploying, & consuming this new web service. Please show me I don't have to do this!

Upvotes: 5

Views: 550

Answers (2)

Chris Dickson
Chris Dickson

Reputation: 12135

You might consider using WCF features for integration with COM+ applications

Upvotes: 2

casperOne
casperOne

Reputation: 74530

You can add it as a COM+ application and then access it from the remote machine.

DCOM might be deprecated but COM+ is not, and allows for remote calls. You'd need COM interop on the client side, as well as custom activation (you won't be able to just call new to create the instance, as you have to indicate the remote machine) but it's definitely doable.

Upvotes: 1

Related Questions