[dba-VB] Is it possible to develop active ASP.NET Web Services?

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...




More information about the dba-VB mailing list