How to pass Application.Item value back to class?

Discussion in 'ASP .Net' started by =?Utf-8?B?YWRvbGYgZ2FybGlj?=, Nov 11, 2004.

  1. Suggestions please for strategy to share values across app.

    Scenario:

    I have an asp.net app that uses some com components along with .net classes.

    Configuration settings for various things are held in an xml file to which
    the com has access. The xml file has different nodes for different instances
    (dev,uat1,uat2 etc..) there is a flag attribute to show current instance.

    The asp.net app loads the xml in global.asax and extracts a bunch of data
    into Application.item variables.

    What I can't then do is access the Application variables from any classes in
    the app that are not associated with a web page.

    Yes I can put the values into web.config but this present 2 problems
    - you need to write a messy section handler with namevalue object to read
    any data
    - the com can't see the file (well it can but for admin purposes you
    shouldn't need to duplicate values - more scope for going wrong)

    Can anyone think of a way in which I can pass Application variables back to
    a class?

    Thanks
     
    =?Utf-8?B?YWRvbGYgZ2FybGlj?=, Nov 11, 2004
    #1
    1. Advertising

  2. =?Utf-8?B?YWRvbGYgZ2FybGlj?=

    Scott Allen Guest

    Hi Adolf:

    As long as the class is working during a web request, it can use
    System.Web.HttpContext.Current to tap into the context of the web
    request. For example:

    HttpContext.Current.Application["foo"] = o;

    --
    Scott
    http://www.OdeToCode.com/blogs/scott/

    On Thu, 11 Nov 2004 04:29:06 -0800, adolf garlic
    <> wrote:

    >Suggestions please for strategy to share values across app.
    >
    >Scenario:
    >
    >I have an asp.net app that uses some com components along with .net classes.
    >
    >Configuration settings for various things are held in an xml file to which
    >the com has access. The xml file has different nodes for different instances
    >(dev,uat1,uat2 etc..) there is a flag attribute to show current instance.
    >
    >The asp.net app loads the xml in global.asax and extracts a bunch of data
    >into Application.item variables.
    >
    >What I can't then do is access the Application variables from any classes in
    >the app that are not associated with a web page.
    >
    >Yes I can put the values into web.config but this present 2 problems
    > - you need to write a messy section handler with namevalue object to read
    >any data
    > - the com can't see the file (well it can but for admin purposes you
    >shouldn't need to duplicate values - more scope for going wrong)
    >
    >Can anyone think of a way in which I can pass Application variables back to
    >a class?
    >
    >Thanks
     
    Scott Allen, Nov 11, 2004
    #2
    1. Advertising

  3. > Can anyone think of a way in which I can pass Application variables back
    to
    > a class?


    It's important that you grip them over the laces. Put a good spin on them,
    and just heave with all your might. Be sure to follow through. From that
    point, it's up to the class to catch them.

    ;-)

    Actually, if I understand you correctly, you want to ACCESS application
    variables FROM a class, right? Now, in .Net, everything is a class, so I'm
    going to have to go out on a limb and guess that what you are referring to
    is classes that are not Page classes. In that case, you can access the
    Application as System.Web.HttpContext.Current.Application.

    --
    HTH,
    Kevin Spencer
    ..Net Developer
    Microsoft MVP
    Neither a follower
    nor a lender be.

    "adolf garlic" <> wrote in message
    news:...
    > Suggestions please for strategy to share values across app.
    >
    > Scenario:
    >
    > I have an asp.net app that uses some com components along with .net

    classes.
    >
    > Configuration settings for various things are held in an xml file to which
    > the com has access. The xml file has different nodes for different

    instances
    > (dev,uat1,uat2 etc..) there is a flag attribute to show current instance.
    >
    > The asp.net app loads the xml in global.asax and extracts a bunch of data
    > into Application.item variables.
    >
    > What I can't then do is access the Application variables from any classes

    in
    > the app that are not associated with a web page.
    >
    > Yes I can put the values into web.config but this present 2 problems
    > - you need to write a messy section handler with namevalue object to read
    > any data
    > - the com can't see the file (well it can but for admin purposes you
    > shouldn't need to duplicate values - more scope for going wrong)
    >
    > Can anyone think of a way in which I can pass Application variables back

    to
    > a class?
    >
    > Thanks
     
    Kevin Spencer, Nov 11, 2004
    #3
  4. I just noticed that your message did mention that your prlbme was with
    classes that are "not associated with a web page." So, I guessed correctly,
    even though I missed that the first time I read your message. In fact, for
    future reference, classes that have direct access to the current HttpContext
    are any classes which implement IHttpHandler (such as Page) or IHttpModule.
    Other classes must refer to the static "Current" member of
    System.Web.HttpContext, and of course, they must be used in that context in
    order to access it (such as in a web application or Web Service).

    --
    HTH,
    Kevin Spencer
    ..Net Developer
    Microsoft MVP
    Neither a follower
    nor a lender be.

    "adolf garlic" <> wrote in message
    news:...
    > Suggestions please for strategy to share values across app.
    >
    > Scenario:
    >
    > I have an asp.net app that uses some com components along with .net

    classes.
    >
    > Configuration settings for various things are held in an xml file to which
    > the com has access. The xml file has different nodes for different

    instances
    > (dev,uat1,uat2 etc..) there is a flag attribute to show current instance.
    >
    > The asp.net app loads the xml in global.asax and extracts a bunch of data
    > into Application.item variables.
    >
    > What I can't then do is access the Application variables from any classes

    in
    > the app that are not associated with a web page.
    >
    > Yes I can put the values into web.config but this present 2 problems
    > - you need to write a messy section handler with namevalue object to read
    > any data
    > - the com can't see the file (well it can but for admin purposes you
    > shouldn't need to duplicate values - more scope for going wrong)
    >
    > Can anyone think of a way in which I can pass Application variables back

    to
    > a class?
    >
    > Thanks
     
    Kevin Spencer, Nov 11, 2004
    #4
  5. =?Utf-8?B?YWRvbGYgZ2FybGlj?=

    lezmark Guest

    Hi,
    Just a thought, Can't you pass the application settings as a parameter to
    the caller?
    As the context is entirely different( I mean the web context and your
    processing classes), or in other words ,configuration is different from
    processing classes, will you be able to change your code to accept
    application settings as parameters from the asp.net page?
    --
    Arul

    "Scott Allen" <bitmask@[nospam].fred.net> wrote in message
    news:...
    > Hi Adolf:
    >
    > As long as the class is working during a web request, it can use
    > System.Web.HttpContext.Current to tap into the context of the web
    > request. For example:
    >
    > HttpContext.Current.Application["foo"] = o;
    >
    > --
    > Scott
    > http://www.OdeToCode.com/blogs/scott/
    >
    > On Thu, 11 Nov 2004 04:29:06 -0800, adolf garlic
    > <> wrote:
    >
    >>Suggestions please for strategy to share values across app.
    >>
    >>Scenario:
    >>
    >>I have an asp.net app that uses some com components along with .net
    >>classes.
    >>
    >>Configuration settings for various things are held in an xml file to which
    >>the com has access. The xml file has different nodes for different
    >>instances
    >>(dev,uat1,uat2 etc..) there is a flag attribute to show current instance.
    >>
    >>The asp.net app loads the xml in global.asax and extracts a bunch of data
    >>into Application.item variables.
    >>
    >>What I can't then do is access the Application variables from any classes
    >>in
    >>the app that are not associated with a web page.
    >>
    >>Yes I can put the values into web.config but this present 2 problems
    >> - you need to write a messy section handler with namevalue object to read
    >>any data
    >> - the com can't see the file (well it can but for admin purposes you
    >>shouldn't need to duplicate values - more scope for going wrong)
    >>
    >>Can anyone think of a way in which I can pass Application variables back
    >>to
    >>a class?
    >>
    >>Thanks

    >
     
    lezmark, Nov 11, 2004
    #5
  6. =?Utf-8?B?YWRvbGYgZ2FybGlj?=

    Scott Allen Guest

    Yes, you can always pass those items as parameters. I'd avoid passing
    a reference to the entire Application collection as that can be easily
    retreived with HttpContext.Current, but if I wanted to decouple my
    classes from being used strictly in an asp.net app I'd pass the values
    along and avoid HttpContext.Current and referencing
    HttpApplicationState. You could always package the parameters into a
    Hashtable or pass them individually.

    --
    Scott
    http://www.OdeToCode.com/blogs/scott/

    On Thu, 11 Nov 2004 08:55:37 -0600, "lezmark" <> wrote:

    >Hi,
    > Just a thought, Can't you pass the application settings as a parameter to
    >the caller?
    >As the context is entirely different( I mean the web context and your
    >processing classes), or in other words ,configuration is different from
    >processing classes, will you be able to change your code to accept
    >application settings as parameters from the asp.net page?
     
    Scott Allen, Nov 11, 2004
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kay
    Replies:
    1
    Views:
    393
  2. QUASAR
    Replies:
    6
    Views:
    439
    QUASAR
    Jan 17, 2004
  3. man

    how to get back the value from item template

    man, Apr 5, 2005, in forum: ASP .Net Datagrid Control
    Replies:
    0
    Views:
    134
  4. N S S

    How to Pass NULL Eelment Value back to the client

    N S S, Apr 5, 2007, in forum: ASP .Net Web Services
    Replies:
    3
    Views:
    140
    John Saunders
    Apr 6, 2007
  5. Martin

    Pass cookie value back to server?

    Martin, Mar 30, 2006, in forum: Javascript
    Replies:
    1
    Views:
    122
    Arnulf Sortland
    Mar 30, 2006
Loading...

Share This Page