When a .Net application calls a web service, this .Net web application is the client and to which the session belongs. A web service session — at best — is specific to a .Net web application, not to a user with a browser that was a client of the web application.
I think the default case is even that the session starts every time a web service call is made (web service calls do not save the cookies that are required for the session state), so it does not store anything between calls. But I did not check it now. There are several ways to make a call, and I think some of them store cookies, and some do not.
But anyway: in your scenario there is no reason to use a session in web services: for web services there is only one client (web application), so you can also use the state of the application if you need to cache data or something in it kind.
source share