Gustav Brock
Gustav at cactus.dk
Thu Dec 25 16:47:12 CST 2008
Hi Shamil I recalled your question when I read up on Windows Workflow Foundation. To recap, this includes four services: *- Persistence Services Persistence services can be used to save a workflow instance to a data store if a workflow contains a long-running process. Transaction Services You can use transaction services to ensure your data consistency in the event of communication or other failure. Tracking Services Tracking services can be used to record which activities will execute in each workflow instance. They can also record when each activity executes. Use tracking services to troubleshoot or debug workflows. Scheduling Services Scheduling services can be used to control how a workflow runtime creates threads for the instances of your workflow. *- Of these Scheduling Service (and Persistence Service?) perhaps could solve your task (quote): You may host your workflow in a server-based host application, such as an ASP.NET Web application or Web service. These host applications donate a thread to the workflow instance, so that the instance remains synchronized with the application. To use this thread, utilize the ManualWorkflowSchedulerService instead of the DefaultWorkflowSchedulerService That might save you from reinventing the wheel or spending time on some proprietary system ... /gustav >>> shamil at smsconsulting.spb.ru 06-12-2008 19:22 >>> Hi All, ASP.NET Web Services are known to be passive IOW they are activated when called from outside, they do some work, and quit until another web request comes... ...I wonder is it possible to develop active web service, which will be activating itself once in a while (e.g. by using a kind of schedule controlled by timer + some programmatic logic)... ...that active service could be something like endlessly running/sleeping/running... between resets web service method IOW a web service method with timeout set to infinitum... ...because ASP.NET web services application is by definition multi-threaded having one thread like the questioned/requested above shouldn't be an issue for the other IMO... ...this thread could be started by outside call or even (I guess) by web service itself calling its own method with infinitum timeout on start-up *via loopback web service call not directly* or something like that... ...that questioned/requested solution should be pure ASP.NET web service one as it's planned to be used on ASP.Net hosting without access to the host operating system to run scheduled Windows Service etc... ...it could happen that questioned/requested Web Service solution is built-in ASP.NET feature: I must say I didn't investigate the docs/I didn't try to make a POC solution - I expect somebody here might have done something like that already - all I need is an answer: yes, it can be done, RTFM => {{URL}}} ... Thank you. -- Shamil P.S. Sorry, I didn't do in advance investigation - I just didn't want to get negative answer by myself - and if positive answer exists I'd be glad to share it with you, and you'll be ready for such a "tricky"/unusual (?) solution using Web Services in advance...