COM+ to Remoting Transition

dotnet framework

    Sponsored Links


  • 1. (405) Method Not Allowed
    Help! I have just re-installed 1.1 to try and cure this problem but it still persits. I am trying to get the VoicesService /VoicesClient example from a book to work - a simple remoting method call over http and I receive the exception above. I tried setting all the options "on" in the Directory tab of the properties of my "VoicesService" web site and configured the application by pressing the "Create" button. This seems like a fundementatl issue and would be documented somewhere but unfortunately not - I hope someone out there has solved this problem buecause it is driving me nuts. Steve
  • 2. SoapSuds Constructors
    Hi How do you get SoapSuds to generate constructor stubs? Thanks Stewart
  • 3. Give Client Reference to a Server Object
    I'm trying to construct a client application with two components. Component 1 - A C# service that synchronizes data from a remote data source. Component 2 - A C# windows forms application. Both component 1 and component 2 will be running on the same computer. Component 1 is expected to always we running. (never more than 1 instance) Component 2 is expected to be running sometimes. (never more than 1 instance) When Component 2 is not online I'd like data sent to MSDE (that's easy) When Component 2 starts I'd like to stop sending data to MSDE and start sending data to Component 2. (not so sure) I was of the mind that I could use .net remoting to handle this. I was hoping to raise events from component 1 when new data needed arrived, hence my question. How do create the initial reference of the RemoteObject in Component 1 and hand that reference to the client so the client can trap new data events raised from component 1? Frank Gibbs Norac, Inc. Senior Programmer XXXX@XXXXX.COM

COM+ to Remoting Transition

Postby Bill Sharon » Thu, 04 Dec 2003 01:39:47 GMT

We are a corporate shop that builds apps to run behind the firewall. In the
"Visual Studio Classic" world, we had used COM+ to host mid-tier components,
the primary purpose of these components to communicate with the SQL Sever
back end and return data.

Our clients are authenticated to run the app via Integrated Windows
authentication. Their captured credentials then allow them to run components
hosted by COM+.  The COM+ application is run under a domain identity that is
used to authenticate to SQL Server (we use Integrated Security=SSPI in the
SQL Server connection strings). So, in effect, the component executes based
on the calling users credentials, but makes data calls on that users behalf
using its own identity to talk to the db.

This has worked quite well for us in that we don't need to watch out for
exceeding our SQL Server licensing, and the identity used to access
production data is in one place and secure, known only to a select few
people. Our auditors seem happy with this approach, too. (We use a similar
type identity scheme for our development and test environments).

My question: How can we build a remoting environment (SAO, Single Call,
hosted in IIS) that allows us the same transparency as to identity passed to
the db? We really don't want to have the db access credentials sitting in a
bunch of web.config files. Granted, access to these can be limited, but it
still leaves a lot of maintenance should we have to start changing

Has anyone had to encounter these transitional issues? There's absolutely no
literature out there that deals with it.

We would be very interested in what y'all have to offer.


Re: COM+ to Remoting Transition

Postby Guy Monk » Thu, 04 Dec 2003 07:45:09 GMT

The .NET dlls can be hosted in "Component Services". The dlls will need to
inherit "System.EnterpriseServices.ServicedComponent". Use RegSvcs.exe to
register the install the assembly in COM+. You would then use .NET remoting
to access the dlls and not DCOM. The activation identity of the dll in COM+
is what will be used to access SQL.

"System.EnterpriseServices.ServicedComponent" provides MarshalByRefObject
which is necessary for remoting

If you need to identify the original caller then in the client config file
you will use useDefaultCredentials="true" and use Integrated Security in

Hope this helps


Similar Threads:

1.COM+ Web Services (ie remoting com+ from IIS)

Whilst I await a response for the problem I have getting this working for me 
I would like to ask another question related to enabling COM+ components to 
be called as web services (checking the SOAP checkbox on the activation tab 
of the com+ application properties).

Are there any performance issues with this method, instead of wrapping up 
the classes and exposing webmethods yourself?  If so what can be done to 
minimise these?

All com+ applications in this scenario are c# (managed code).

Shaun Venus

emailid:  sunevnuahs

2.Transition from ASP/COM+ to ASP.NET model

I have been developing ASP applications for quite a while now.  Most of the
apps that I deploy are a typical n-tier setup.  ASP GUI on a web server,
Business and Data Components written in VB6 running in COM+ on a separate
server with the SQL database residing on its own server.

I don't really use COM+ for the transactions but more for the DCOM
capabilities and as a way to control the running program.  If I need to
compile out a new version of an component and the website is being used I
can just stop the component and then compile it out. Otherwise VB won't let
me compile it out because the component is in use.

My question is how does this translate to ASP.NET.  I have read many
articles but have never come across an answer that answers this question for
me.  I guess I'm wondering what the best practices are with is comes to

Should a lot of the business and data logic I write be contained on the
webserver in the Code Page Behind?  Or should I separate it out into like I
am currently doing?  If I deploy it like that and need to update components
can I compile over the version out there even if its being used or will I
get an error because the dll its trying to update is in use?

I know there is a right or wrong answer,  I'm just looking for the most
accepted way of doing it as a starting point.


Return to dotnet framework


Who is online

Users browsing this forum: No registered users and 89 guest