Hello,
Thanks for your post. I'd like to share the following information with you
for better understanding transactional integrity and security context:
=============================
There are many variations of how to expose serviced components remotely.
Serviced components can be accessed remotely using:
1).The HTTP channel with serviced components called from or written in
ASP.NET offers good security and encryption options, along with known
scalability and performance. When used with SOAP, more interoperability
options exist. Serviced components can be hosted in IIS/ASP.NET as a COM+
library application. If a COM+ server application is used, the IIS/ASP.NET
host can access the components using DCOM.
2).An alternative way to expose a serviced component as a SOAP endpoint is
discussed in COM+ Web Services: The Check-Box Route to XML Web Services.
3).DCOM when serviced components are hosted in Dllhost. This option offers
optimal performance and security and the ability to pass service contexts
cross-machine. The major design question when choosing a remoting
technology should be whether or not the services need to flow across
machines. For instance, within a server farm where a transaction is created
on one machine and it is required for the transaction to continue on
another machine, DCOM is the only protocol that can be used to achieve
this. However, if clients need to simply call a remote ServicedComponent,
then the HTTP channel or SOAP endpoint approaches are good alternatives.
4).A .NET remoting channel (for instance, a TCP or custom channel). To use
the TCP channel you need a process listening on a socket. In general, a
custom process is used to listen on a socket and then host serviced
components either as a COM+ library or server application. Alternatively,
Dllhost can be used as the listener. Either approach is least likely to be
used and would require writing a custom socket listener with proven
performance, scalability and security. Therefore, the ASP.NET or DCOM
solutions are the best approaches for most projects.
==========================
If the component is configured in COM+ dllhost, the communication between
the client and the servicedcomponent is based on the DCOM, instead of
Remoting. So, the remoting is not involved for the ServicedComponent's
transaction and security context.
For more information, please refer to the MSDN article:
Understanding Enterprise Services (COM+) in .NET
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/ht
ml/entserv.asp
Please feel free to let me know if you have any problems or concerns.
Regards,
HuangTM
Microsoft Online Partner Support
MCSE/MCSD
Get Secure! --
www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.