Hello,

I am about to start a project that basically has an xml database sitting
on a server.

I want to create an application that basically initiates a data access layer
(herein describes as DAL) as an global object to moderate, control, and cache
the xml database.

the application will have a series of web methods that use this DAL to read/write
info from the xml.

Now my question is this: Do the variables and webmethods i declare run at
an application level or a session level?

ie, everytime i call a webmethod from an external source does it create a
new instance of the application? or does it run off the same application?

I want to ensure that if i call webmethod1 from one computer it will use
the DAL to access the xml database, and if i call webmethod2 from another
computer it uses the same DAL to access the same database.

The worst thing that i can imagine is that everytime i call a webmethod it
would run at a session level, and declare a session instance of the DAL that
would cache the xml database. Then at the same time another computer calls
another webmethod, which also runs at a session level, and declares a 2nd
instance of the DAL which also caches the database. Now when webmethod1
finishes, and saves the data from the cached verion of DAL1 to the xml database,
all is good. But when the second webmethod finsishes and saves its data
from it's cached version of DAL2 to the xml database, all info from DAL1
was lost...

If anybody knows how webmethods operate and can answer this, i would greatly
appreciate it.