sounds like Windows service might be the best bet, but maybe the hardest too.
Anther approach is you can always do a singleton object that never get collected by the garbage, have that object get created by a web service call. Then all other Web Service calls just use that object that is already running in the background. I do this for an IM host. The host is just an object running on the server. Each post and get of messages is done through Web Services. If the object isn't created when getting the instance, it gets created. The downfalls to this is if the server goes down, the process not only stops, but doesn't get restarted until it is requested and you loose all data when server goes down. In the case of IM's, that doesn't matter. an example of a singleton object. Public Class CurrentUser Private Shared mCurrentUser As CurrentUser Public Shared Function Instance() As CurrentUser If mCurrentUser Is Nothing Then mCurrentUser = New CurrentUser() GC.SuppressFinalize(mCurrentUser) End If Instance = mCurrentUser End Function End Class -----Original Message----- From: Erick Thompson [mailto:[EMAIL PROTECTED]] Sent: Wednesday, May 29, 2002 1:21 PM To: [EMAIL PROTECTED] Subject: [DOTNET] Web service or windows service? I have a very long running process in a assembly that runs on a remote server. The process will run for about 2-3 weeks. All the management takes place via a set of web pages. There will also be a set of pages to monitor the process. The monitoring takes place in two different ways, first, the assembly raises events regularly (item processed, etc). In addition, the user can query the assembly (eg GetPercentFinished()) from a web page. Given that everything is going to occur over the web, it made sense to make a web service that wrapped the dll that actually does the work. However, I'm not completely clear on how scope and web services interact. If a page makes an async call to a web service, is there any way for a later page to interact with that instance of the web service (to see the last item processed)? Or, should I create a standard windows service that drives the assembly, and have the web pages interact with that service? My feeling is a traditional windows service is the best solution here, but I haven't really worked with web services yet, so I thought I'd ask for a double check. Thanks, Erick You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.