Re: .Net COM+

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Sahil Malik (contactmethrumyblog_at_nospam.com)
Date: 09/24/04

  • Next message: Sam Santiago: "Re: Config File Declaration"
    Date: Fri, 24 Sep 2004 16:56:55 -0400
    
    

    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

    "Sam Santiago" <ssantiago@n0spam-SoftiTechture.com> wrote in message
    news:u5Jl%23NgoEHA.1608@TK2MSFTNGP15.phx.gbl...
    > 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
    > _______________________________
    > "Thomas" <thomas@corpuslogic.com> wrote in message
    > news:uc5Eu6XoEHA.2068@TK2MSFTNGP09.phx.gbl...
    > > 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...
    > > > 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
    > > >
    > > >
    > > > "Thomas" <thomas@corpuslogic.com> wrote in message
    > > > news:eIssHJRoEHA.3592@TK2MSFTNGP14.phx.gbl...
    > > > > 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
    > > > >
    > > > >
    > > >
    > > >
    > >
    > >
    >
    >


  • Next message: Sam Santiago: "Re: Config File Declaration"

    Relevant Pages

    • Re: Is there WordPad object in VB reference
      ... You could use shell to run wordpad, but it doesn't expose any ... programmatic interface. ... Is there WordPad Object in VB reference? ...
      (microsoft.public.vb.general.discussion)
    • Re: MS Data Access Block
      ... features, I meant in my program that uses the block, not that I made changes ... in project 'Forms1' cannot be copied to the run directory because it would ...
      (microsoft.public.dotnet.framework.aspnet.webcontrols)
    • Re: object oriented shell scripts
      ... It doesn't provide type safety or inheritance or access control, ... automatic creation of getters and setters or return by reference. ... And all the Real OO Features are missing? ... # Implementation of the fibonacciRecursive method for the ...
      (comp.unix.shell)
    • Re: Articles or Turorials on Aggregation??
      ... >> enclosingtype only expose value types from the composed type, ... >> soon as you expose it as reference you lose the composition as the ... public property the calling code can keep a reference after the wrapper ...
      (microsoft.public.dotnet.languages.csharp)
    • Re: Autonumber Fields
      ... if by "expose it" (in reference to an artificial key) you mean show it ... > ON UPDATE CASCADE; ...
      (microsoft.public.access.tablesdbdesign)