Reggie:
        Don't give up just yet! :) I'll try to check with some people if there is 
other option.

        -----Mensaje original----- 
        De: Reggie Burnett [mailto:[EMAIL PROTECTED]] 
        Enviado el: Sáb 25/05/2002 12:25 p.m. 
        Para: [EMAIL PROTECTED] 
        CC: 
        Asunto: Re: [DOTNET] Automatically executing code
        
        

        Yes I could do that.  I'm sorry I'm being a bit stubborn on this issue
        but I was really hoping to find a solution that would properly integrate
        into the framework.  The documentation really doesn't say where the
        RegisterPrefix call should be issued.  It feels better to me to not
        require the extra step by the user, but perhaps that is what MSFT was
        expecting.
        
        > -----Original Message-----
        > From: dotnet discussion [mailto:[EMAIL PROTECTED]] On Behalf
        Of
        > Federico Raggi
        > Sent: Saturday, May 25, 2002 11:12 AM
        > To: [EMAIL PROTECTED]
        > Subject: Re: [DOTNET] Automatically executing code
        >
        > Can't you just make the user call an static method that encapsulates
        the
        > prefix registration and WebRequest creation inside a class you define:
        >
        > User Code: wr = myProtHandler.Create
        > Your Library
        >
        > static WebRequest Create()
        > {
        >         // Register the prefix and create the WebRequest object here
        > }
        >
        > From you comment I assume that you need the user of your library to
        call
        > WebRequest.Create directly but I just wanted to check.
        >
        > On Fri, 24 May 2002 16:43:14 -0500, Reggie Burnett
        <[EMAIL PROTECTED]>
        > wrote:
        >
        > >Federico,
        > >
        > >You are right but unfortunately that doesn't help.  The WebRequest
        > >system checks registered prefixes before instantiating the
        appropriate
        > >classes (it has to).  In order for your suggestion to work, the code
        > >needs to refer to my derivative somewhere to call the constructor.
        From
        > >what I can tell, there are only a limited number of places where code
        > >can be defined.  An attribute (haven't tried this approach), user
        > >written classes, and the classes in my library.
        > >
        > >The user should only have to write the following so that leaves user
        > >written code out of consideration.
        > >
        > >WebRequest wr = WebRequest.Create("prot://host/url")
        > >
        > >
        > >I havne't found a way to have code inside my library automatically
        > >called.  In the old C++ days, I would have used a globally defined
        > >object with a constructor that performed the call.
        > >
        > >Are there any assembly level startup routines like the old DllInit
        > >stuff?
        > >
        > >What do you think about the attribute approach?
        > >
        > >Reggie
        > >
        > >> -----Original Message-----
        > >> From: dotnet discussion [mailto:[EMAIL PROTECTED]] On
        Behalf
        > >Of
        > >> Federico Raggi
        > >> Sent: Friday, May 24, 2002 11:03 AM
        > >> To: [EMAIL PROTECTED]
        > >> Subject: Re: [DOTNET] Automatically executing code
        > >>
        > >> Reggie:
        > >>         You don't need to instantiate the class to initialize its
        > >static
        > >> members. You just need to use some of its members in your code. The
        > >> static constructor is called when the class is loaded and it will
        be
        > >> loaded only if it's needed by your call.
        > >>
        > >>         Here is a small sample that initializes a seed using the
        > >Random
        > >> class. If you comment the DoSomething() method call in Main, it
        won't
        > >> load StaticClass nor execute its static constructor.
        > >>
        > >> using System;
        > >>
        > >> namespace DotNetList.FedeR
        > >> {
        > >>         class StaticClass
        > >>         {
        > >>                 static float seed;
        > >>
        > >>                 static StaticClass()
        > >>                 {
        > >>                         Console.WriteLine("StaticClass
        Initializing");
        > >>                         Random r = new Random();
        > >>                         seed = r.Next();
        > >>                 }
        > >>
        > >>                 public static void DoSomething()
        > >>                 {
        > >>                         Console.WriteLine("DoingSomething:
        > >Seed="+seed);
        > >>                 }
        > >>         }
        > >>
        > >>         class myApp
        > >>         {
        > >>                 static void Main()
        > >>                 {
        > >>                         Console.WriteLine("Entering Main");
        > >>                         // If you comment this line, constructor
        won't
        > >> be called
        > >>                         StaticClass.DoSomething();
        > >>                 }
        > >>         }
        > >> }
        > >>
        > >> Federico Raggi
        > >> Latam Developers Initiative Manager
        > >> Microsoft
        > >>
        > >> Phone: (954)489-4862
        > >> Mobile: (954)465-4862
        > >>
        > >> > -----Original Message-----
        > >> > From: Reggie Burnett [mailto:[EMAIL PROTECTED]]
        > >> > Sent: Friday, May 24, 2002 10:58 AM
        > >> > To: [EMAIL PROTECTED]
        > >> > Subject: Re: [DOTNET] Automatically executing code
        > >> >
        > >> > That's what I thought. I tried using a static constructor but you
        > >have
        > >> > to explicitly create an object to get it to fire.  I'm looking
        for
        > >> > something that will automatically run the code to register  my
        > >prefix
        > >> > without the user of the lib having to do anything.  Their first
        line
        > >> of
        > >> > code should be something like
        > >> >
        > >> > Wr = WebRequest.Create("blah blah url");
        > >> >
        > >> > Is there something at the assembly level or an attribute that I
        > >could
        > >> > use to automatically fire some code at app startup?
        > >> >
        > >> > Reggie
        > >> >
        > >> > > -----Original Message-----
        > >> > > From: dotnet discussion [mailto:[EMAIL PROTECTED]] On
        > >> Behalf
        > >> > Of
        > >> > > Richard Birkby
        > >> > > Sent: Friday, May 24, 2002 4:21 AM
        > >> > > To: [EMAIL PROTECTED]
        > >> > > Subject: Re: [DOTNET] Automatically executing code
        > >> > >
        > >> > > Can you use a static constructor somewhere?
        > >> > > System.Net registers HTTP, HTTPS and FILE the first time the
        > >prefix
        > >> > list
        > >> > > is
        > >> > > used *.
        > >> > >
        > >> > >
        > >> > > Richard
        > >> > > * It uses a double check locking idiom without a volatile
        > >keyword...
        > >> > >
        > >> > > > -----Original Message-----
        > >> > > > From: dotnet discussion [mailto:[EMAIL PROTECTED]]On
        > >> Behalf
        > >> > Of
        > >> > > > Reggie Burnett
        > >> > > > Sent: 24 May 2002 01:17
        > >> > > > To: [EMAIL PROTECTED]
        > >> > > > Subject: [DOTNET] Automatically executing code
        > >> > > >
        > >> > > >
        > >> > > > I'm implementing a webrequest/webresponse pair and the docs
        say
        > >> that
        > >> > you
        > >> > > > have to call WebRequest.RegisterPrefix to register your
        creator
        > >> > object
        > >> > > > with that prefix.  What is the best way to make that call
        > >> > automatically
        > >> > > > without the user of the library needing to explicitly do
        that?
        > >> > > >
        > >> > > > Reggie
        > >> > > >
        > >> > > > You can read messages from the DOTNET archive, unsubscribe
        from
        > >> > DOTNET,
        > >> > > or
        > >> > > > subscribe to other DevelopMentor lists at
        > >> > http://discuss.develop.com.
        > >> > >
        > >> > > You can read messages from the DOTNET archive, unsubscribe from
        > >> > DOTNET, or
        > >> > > subscribe to other DevelopMentor lists at
        > >> http://discuss.develop.com.
        > >> >
        > >> > You can read messages from the DOTNET archive, unsubscribe from
        > >> DOTNET, or
        > >> > subscribe to other DevelopMentor lists at
        > >http://discuss.develop.com.
        > >>
        > >> You can read messages from the DOTNET archive, unsubscribe from
        > >DOTNET, or
        > >> subscribe to other DevelopMentor lists at
        http://discuss.develop.com.
        > >
        > >You can read messages from the DOTNET archive, unsubscribe from
        DOTNET,
        > or
        > >subscribe to other DevelopMentor lists at http://discuss.develop.com.
        >
        > You can read messages from the DOTNET archive, unsubscribe from
        DOTNET, or
        > subscribe to other DevelopMentor lists at http://discuss.develop.com.
        
        You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
        subscribe to other DevelopMentor lists at http://discuss.develop.com.
        

b��jz�iٞ�Ơz��kax3�4Dڭ�b�맲��r��y��3�4D�˛���m�h��^�7�zZ)1����b���m��݊�.��^��h��&


Reply via email to