|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: Weiss, Mike (Mike.Weiss
PRICESYSTEMS.COM)Date: Wed Sep 26 2001 - 08:59:03 CDT
Using VCExplore I see no properties on the application or it's components
that hold the values shown in the "Status View" window in Component
Services.
Here is what I guess is going on:
The only way to track the status of a COM+ application and its components is
via the events. The problem is how to determine when an application is
*started*, not just when it is *starting*. If a monitoring application is
started after the starting event COM+ is fired that app will have no idea
that the COM+ application is running (you missed the event).
An answer to this problem, and what I guess Component Services is doing, is
to insure you are always monitoring events. An Exe really can't guarantee
this (esp. if it can be started and stopped many times after windows
start-up). But, a COM+ application that subscribes to COM+ events is stated
to respond to events (right?), so it can't miss an event. My guess is that
some "system" COM+ component is already doing this (Maybe System
Application:COMSVCS.TrackerServer?). So basically a standard win32 EXE (with
a UI) can't itself solve this problem, it needs help from a COM+ component.
So what component services is doing (still a guess) is it uses a com+
component to track all start and stop events. That component see the events,
determines that current "state" of the com+ applications on the PC, and
stores that "somewhere" (shared prop manager?, global variables?). Component
Services MMC asks that tracking component that "status" of each application
and keeps the screen up to date either by polling or events. Look the
interfaces and methods of COMSVCS.TrackerServer, it looks like what I'm
describing.
I see no docs for this object... I may write my own version of what I'm
describing if I can't use that one. Of course I maybe WAY OFF here? Any
thoughts?
BTW: I'll gladly share the source code to this thing I want to write with
the list if I can get it working. I think a system-tray based COM+ status
app is useful. (Like what SQL Server has.) I can't count the number of times
developers on my team "just can't get the COM+ server to run in the
debugger". Why? because its already running outside the debugger!
-----Original Message-----
From: Ron Jacobs [mailto:rojacobs
MICROSOFT.COM]
Sent: Tuesday, September 25, 2001 9:28 PM
To: DCOM
DISCUSS.MICROSOFT.COM
Subject: Re: How to determine COM+ app is running?
You can use the COM+ sample Explore.vc or the VB version to explore and
alter the catalog. This can help you to locate the events and
statistics property.
The MMC plugin does not use undocumented interfaces so you should be
able to get at what it is doing.
-----Original Message-----
From: Weiss, Mike [mailto:Mike.Weiss
PRICESYSTEMS.COM]
Sent: Friday, September 21, 2001 6:04 AM
To: DCOM
DISCUSS.MICROSOFT.COM
Subject: Re: How to determine COM+ app is running?
Somehow the Component Services MMC plugin is doing what I want to do...
I wonder if its some undocumented call/interface somewhere in the admin
objects
maybe in ICatalogTableInfo, or the other "table" interfaces??
I wonder if looking into the running DLLHOST processes could indicate
which
COM+ app they belong to?
Using the events kinda works... as long as my monitor application was
ALWAYS
running. I notice the COMSPY sample had problems getting the app
shutdown
event, depending of how the app was shutdown, so even using the events
seems
like it would have problems.
The setting "Component supports events and statistics" has something to
do
with this, but I have no idea where COM+ is keeping this info, and how
any
app could get this info (other then the Component Services tree)!
-----Original Message-----
From: Pete Davis [mailto:pdavis
QUETEL.COM]
Sent: Thursday, September 20, 2001 4:46 PM
To: DCOM
DISCUSS.MICROSOFT.COM
Subject: Re: How to determine COM+ app is running?
One way to do it is wait for the OnAppActivation event, and after that's
ready activate one of the components. It forces your application to
startup,
but at least you'll know the state. If it's already started, you
probably
won't get the OnAppActivation, but at least you'll know that as well.
Just a thought.
I don't see any way through the Admin components to determine the state
otherwise.
Pete
----- Original Message -----
From: "Weiss, Mike" <Mike.Weiss
PRICESYSTEMS.COM>
To: <DCOM
DISCUSS.MICROSOFT.COM>
Sent: Thursday, September 20, 2001 4:17 PM
Subject: How to determine COM+ app is running?
> Anyone know how to if a COM+ application is running. I've looked
throught
> the COM+ admin interfaces and the COM+ Instrumentation Events with no
luck.
> While the events do have a OnAppActivation and OnAppShutdown I want to
know
> at any point when my application is running (for example if my COM+
app
> started BEFORE I register for the events).
>
> I thought I'd whip-up a quick system tray applicaton like the SQL
Server
> Service Manager that could monitor any COM+ application.
>
> ----------------------------------------------------------------
> Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
> contains important info. Save time, search the archives at
> http://discuss.microsoft.com/archives/index.html .
> To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]