Hello,<BR><BR>I am about to start a project that basically has an xml database sitting on a server.<BR><BR>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.<BR><BR>the application will have a series of web methods that use this DAL to read/write info from the xml.<BR><BR>Now my question is this: Do the variables and webmethods i declare run at an application level or a session level?<BR><BR>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?<BR><BR>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.<BR><BR>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&#039;s cached version of DAL2 to the xml database, all info from DAL1 was lost...<BR><BR>If anybody knows how webmethods operate and can answer this, i would greatly appreciate it.