Re: 1st hosting of objects, new(), etc.

From: Mike (vimakefile_at_yahoo.com)
Date: 08/17/04


Date: Tue, 17 Aug 2004 13:44:47 -0700

I'm less interested in either app hosting the object, as I am in having the
IIS application object holding a reference to a speedy/local/non-proxy
reference (it is the host, but also the main client), and having any other
apps have proxies into the IIS-app-hosted object.

So it sounds like I can do this by having a singleton factory of my own,
call it to get the a local reference, and then call registerServerType - no?
Or does it not make a difference when I call rWKST because on the server all
copies will be local -- e.g., there won't be a loopback socket that
eventually calls back into the same process.

mike

"Sam Santiago" <ssantiago@n0spam-SoftiTechture.com> wrote in message
news:eLuZDbJhEHA.2764@TK2MSFTNGP11.phx.gbl...
> The New statement will create a local object on the server application
> even if you have published a wellknown object of that type. On the client
> application once you have registered a wellknown type in that app domain
it
> makes sense that New would attempt to create a remote object.
> Your issue is that either one of your applications can act as a
server.
> You might want to reconsider that. I think it is a bit risky to have an
> ASP.Net application dependent on a remote object in a Windows Forms
> application that can be shut down at will. With that said you might want
to
> try something like the pseudo code below in each application, I am not
sure
> if it would work:
>
> obj1 = New Myojbect - Create a local instance of the object
> bUseLocalObj = true
> Register MyObject as a wellknown type
> try
> obj2 = attempt to create another instance of your object (obj2 -
should
> be remote instance)
> bUseLocalObj = false
> catch
> if error, remote object is not available, probably not been published
> Marshal obj1 to a URI
> end try
>
> if not bUseLocalObj then obj1 = obj2 (obj1 and obj2 are both Myobject
> types, but obj2 is a proxy, so not sure what would happen)
>
> Use obj1 throughout your application (may or may not be a proxy based
on
> what happened above)
>
>
> Good luck.
>
> Thanks,
>
> Sam
>
>
> --
> _______________________________
> Sam Santiago
> ssantiago@n0spam-SoftiTechture.com
> http://www.SoftiTechture.com
> _______________________________
> "Mike" <vimakefile@yahoo.com> wrote in message
> news:eRSlNz$gEHA.3272@TK2MSFTNGP11.phx.gbl...
> > I'd like to have the first-running application that references my object
> > host a singleton server for the app's lifetime, and I'd like the hosting
> > application to use a local (non-remoted, same process) version of the
> > object.
> > For instance, if my winforms app is the first app to need the object, it
> > will do a registerWellKnownServerType on a singleton that is also used
> > locally, and if an IIS application on the same machine runs first, I'll
> > create a the local object and cache it in the ASP.Net Application object
> and
> > then register it. Otherwise, if one or the other is running, it will use
a
> > remoted version. Is it possible to have this
> > local-and-remoted-access-to-the-same-singleton scenario work? (With
> > appropriate lock()'s in case the local and remote context threads muck
> with
> > state at the same time.)
> >
> > The impetus is that I'd like a management console to be able to run w/o
> IIS
> > active, but most of the time I want the IIS application to host the
object
> > and have fast, local access to it. In the case that I run one or more
> > managment consoles from local or remote machines with IIS already
hosting
> > the object, they will connect to the already running object.
> >
> > One problem is .Net's choice of implicit remote creating via new() which
I
> > don't really like. It seems like before a registerWellKnownClientType
"new
> > foo(...)" means one thing, and after the registration it means something
> > else - an explict Remote.Create( typeof(foo), ...) seems cleaner. Once
> > rWKCT is called, how do I create local, non-remote, non-singlton
versions
> of
> > the object if I wanted to?
> >
> > I guess in the case where the hosting app exits, it would cause an
> exception
> > on the client, or I could have the process stick around while there are
> > still non-timed-out clients (unless IIS gets aggressive with an
ostensibly
> > zombified process.)
> >
> > thanks,
> > mike
> >
> >
>
>



Relevant Pages

  • 1st hosting of objects, new(), etc.
    ... will do a registerWellKnownServerType on a singleton that is also used ... The impetus is that I'd like a management console to be able to run w/o IIS ... managment consoles from local or remote machines with IIS already hosting ...
    (microsoft.public.dotnet.framework.remoting)
  • singleton problem - remote / local calls dont yield the same result
    ... I'm hosting a singleton remote object in my app. ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: Creating Web Applications
    ... For this you can use IIS or the free cassini web server: ... > url of the web app, the next step asks how it should create the app ... Using Frontpage Server Extensions ... > I can do neither as this is a remote server not running Frontpage ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: VS2008 HTTP 403 Help!!
    ... Check in your IIS Manager, and make sure you created a virtual directory ... for your app. ... Seems like the publish took away the projects web app status. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Accessing 32 bit COM components in 64 bit IIS
    ... CGIs, and ASP scripts onto a 64bit machine, and it just works after they ... The most confusing aspect of running 32bit app on a 64bit OS is that you ... System32 access is redirected, etc). ... we will be introducing the ability to configure IIS to run ...
    (microsoft.public.inetserver.iis)