For a project, an internal customer wanted to utilize web services for file reading and writing. Both the file write and read services were utilizing a System.IO.FileStream object, invoking the object's Read and Write methods. Since the location that the web services would be reading and writing from is a network share, two domain accounts were setup and given read, and you guessed it, write permissions each respectively to the share.
Then, Application Pools were setup on the (Windows 2003 with SP1) server, with the read and write web services, with the afore mentioned domain accounts, one app pool for each of the web services with the identity set to the appropriate domain account. For example, the web service that would be reading the files from the network share was set to use the application pool that was set up with the identity of the domain account with read permissions.
The “gotcha” that we encountered was that the accounts that the web services were utilizing needed modify permissions on the server <WindowsFolder>/temp folder in order to generate serialization proxies.