Groups | Blog | Home
all groups > dotnet distributed apps > september 2004 >

dotnet distributed apps : .Net COM+



Thomas
9/22/2004 10:08:54 PM
Hi,

What is the tool for managing .Net components much like Component Services
for COM+?

I want to see # in call, call times and # instances with a tool or
framework - which?

Thomas

Thomas
9/23/2004 11:04:54 AM
Hi,

I did formulate my question well, what I was thinking: Is there a tool for
managing non-serviced .Net components. Is it even advisable to run middle
tier components ouside COM+ and what are the problems?

"Paul Glavich [MVP - ASP.NET]" <glav@aspalliance.com-NOSPAM> wrote in
message news:uQVmngWoEHA.3592@TK2MSFTNGP14.phx.gbl...
[quoted text, click to view]

Paul Glavich [MVP - ASP.NET]
9/23/2004 10:23:34 PM
The Component Services MMC snap in that is usually located at Start ->
Programs -> Administrative Tools -> Component Services
should provide all of that.

--
- Paul Glavich
Microsoft MVP - ASP.NET


[quoted text, click to view]

Sam Santiago
9/23/2004 11:55:34 PM
In short, no. There's no tool to view or manage non-serviced .NET
components. Yes it is fine to run middle tier objects outside of COM+.
COM+ usages requires COM interop calls so there's a performance hit. Many
do not recommend using COM+/Enterprise Services unless you truly need some
of the services its provides such as:

1) Distributed Transactions - your application needs to update multiple
databases in a transaction.
2) Object Pooling - for performance you want to have several instances of
an object handling clients.
3) Declarative transaction management - you do not want to handle
transaction mgmt in your code and want to be able to configure it a
deployment or declaratively with attributes.

This article has a nice table summarizing the services provide by COM+:

Using COM+ Service in .NET
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/comservnet.asp?frame=true

Thanks,

Sam
--
_______________________________
Sam Santiago
ssantiago@n0spam-SoftiTechture.com
http://www.SoftiTechture.com
_______________________________
[quoted text, click to view]

Sahil Malik
9/24/2004 4:56:55 PM
Allright, undocumented feature and you didn't hear this from me. It is
possible, write your own IUnknown to expose a programmatic interface to
check the reference count. .. actually, in QueryInterface, if you write some
hacking code, then when IE downloads an activeX control and popsup that
dialog to prompt you to install with an invalid certificate, you could have
theoretically already run weird code on the system without the user knowing
it (I am pretty sure this works since I have tried it though I am surprised
why nobody has used this as a hack exploit yet, but the last time I tried it
was on Win98, maybe things are different now - though I'd be really
surprised !!).

For all practical purposes - not possible. Especially if you are using the
standard ATL VC++ or VB 6 way to create a COM component. Those methods wrap
a COM component so well that you never deal with IUnknown implementation at
it's base level.

... to answer your other question ---

I like to use COM+ when I am interoping. THis simply because COM's memory
management leaves a lot to be desired (Reference counts isn't perfect,
especially when references can get circular), so with COM+ I can pool
instances and I can put an upper limit on the number of instances hence
prevent an infinite memory leak to control damage basically. Also, a rogue
COM component can be simply disabled, and well things can be easily exposed
thru SOAP, things can be put in MTS to make a distributed package,
transaction features can be used .. it's a lot of good features in an
enterprise environment. What's more, all of these can be done
programatically, declratively and administratively .. and that's just
awesome dude !!

This is one of those things that has as many views as many developers, but I
for one am a big proponent of COM+/Enterprise Services in general.

- Sahil Malik
You can reach me thru my blog at
http://www.dotnetjunkies.com/weblog/sahilmalik



[quoted text, click to view]

Thomas Nielsen
9/25/2004 5:16:46 PM
Hi,

How about WMI instrumentation? would that work as an interface for querying
runtime information for .Net servers?

IIS 6 has som of the functions I'm looking for - like recycling. Are any MS
..Net server products running as non-serviced servers today? Perhaps that is
something to learn from?

Thomas




[quoted text, click to view]

Thomas
9/29/2004 3:14:04 PM
Hi,

What kind of VS projects are the servers - Windows Service? Remoting
Servers? Console servers? Does your .Net assemblies run in IIS
inside/dllhost?

Thomas


"Paul Glavich [MVP - ASP.NET]" <glav@aspalliance.com-NOSPAM> wrote in
message news:OUHaD6hpEHA.3988@tk2msftngp13.phx.gbl...
[quoted text, click to view]

Paul Glavich [MVP - ASP.NET]
9/29/2004 10:18:54 PM
WMI can provide general information on runtime information. If you want
something specific, you will probably need to write WMI specific code to
output the metric information you require. Certainly doable, just more work.

Also, we run middle tier components outside of COM+ all the time. MS petshop
implementation also did this for performance reasons. It really depends on
what you require.

--
- Paul Glavich
Microsoft MVP - ASP.NET


[quoted text, click to view]

AddThis Social Bookmark Button