Notify a Service Process

  • Thread starter Thread starter Peter
  • Start date Start date
P

Peter

I have a webpage which creates reports, a report can take few seconds or
several minutes to create.
This webpage calls a web service which in turn does a remoting call to a
windows service and the service creates the report.

My question is if a user cancels or closes the browser before the report is
completed, but windows service is still in the process of creating a report
how do I notify the service to quit creating a report because there isn't
anyone to receive it?



Thank You



Peter
 
If you provide a Cancel button and trust the user to cancel only via this
button, only than you will know about the cancellation. How to notify the
windows service is up to the service. It may or may no provide an interface
for that.

But practically there is a little use in that since there is no reliable way
to know if the user navigated away from your site. Thre are simply too many
exit options.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
 
Hi Peter,

Regarding on the scenario you mentioned, when the web application consumer
close the webbrowser, the ASP.NET server-side will not get any rapid
notification of it. It does be a very common and typical limitation of
http/web based application which is stateless with server.

If the reporting generation task is long-run and you feel it critical and
important to pause/cancel report generation whenever the client user close
the webbrowser(before the report generation finishes), I think you can can
consider the following approach:

** At your ASP.NET web application's page (which will let user send request
for generating report), you need to add some additional code logic to to
contantly ping the webservice or windows service to as to let the backend
processing service know that the request client is still alive.

** you also need to apply a timeout policy at the report processing side.
e.g. if the genreation hasn't finsihed, but it hasn't received notify from
client side(to a certain sessionID) for a long time(exceed timeout), it
will cancel the generation.

for implementation, at web page side, you can consider using AJAX script
call to send notify to server-side constantly.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.



--------------------
 
Steven Cheng said:
Hi Peter,

Regarding on the scenario you mentioned, when the web application consumer
close the webbrowser, the ASP.NET server-side will not get any rapid
notification of it. It does be a very common and typical limitation of
http/web based application which is stateless with server.

If the reporting generation task is long-run and you feel it critical and
important to pause/cancel report generation whenever the client user close
the webbrowser(before the report generation finishes), I think you can can
consider the following approach:

** At your ASP.NET web application's page (which will let user send
request
for generating report), you need to add some additional code logic to to
contantly ping the webservice or windows service to as to let the backend
processing service know that the request client is still alive.

** you also need to apply a timeout policy at the report processing side.
e.g. if the genreation hasn't finsihed, but it hasn't received notify from
client side(to a certain sessionID) for a long time(exceed timeout), it
will cancel the generation.

for implementation, at web page side, you can consider using AJAX script
call to send notify to server-side constantly.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no
rights.

Thank you

Sounds good ! - Well -- kind of, because this means a lot of work to get
this working correctly :)
 
Thanks for your reply Peter.

Yes, I agree that the real implementation will require lots of work.
Actually, it is always not simple task to build a rich component that helps
improve interaction between webpage client and server-side. Anyway, if
there is anything else need help later, welcome to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
Subject: Re: Notify a Service Process
Date: Mon, 5 May 2008 08:43:53 -0500
 
Back
Top