I have an ASP.NET web service that access a variety of COM objects and performs a variety of tasks.
One of the methods can take a very, very long time (5 minutes perhaps). To get around this, I had marked the service as one way ( [SoapDocumentMethod(OneWay = true)] ).
For some reason, when executing the method is marked as OneWay, it loses the credentials and starts running as the machine account (MACHINENAME$). When not marked as OneWay, the method executes as whatever user is configured.
I've tried changing the anonymous access user in IIS, using impersonation etc. but to no avail. It works fine, as long as it is not a one way method.