OSEC

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.WeissPRICESYSTEMS.COM)
Date: Wed Sep 26 2001 - 08:59:03 CDT

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    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:rojacobsMICROSOFT.COM]
    Sent: Tuesday, September 25, 2001 9:28 PM
    To: DCOMDISCUSS.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.WeissPRICESYSTEMS.COM]
    Sent: Friday, September 21, 2001 6:04 AM
    To: DCOMDISCUSS.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:pdavisQUETEL.COM]
    Sent: Thursday, September 20, 2001 4:46 PM
    To: DCOMDISCUSS.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.WeissPRICESYSTEMS.COM>
    To: <DCOMDISCUSS.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-requestDISCUSS.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-requestDISCUSS.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-requestDISCUSS.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-requestDISCUSS.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-requestDISCUSS.MICROSOFT.COM