Mehran Hoodeh, ProgressBar On Server Process
 
     
  If you are a Web Developer and write programs in which heavy Server Side processes exist (like long time-taking loops for a Report), you must have faced the problem of:
1- Not knowing how much of the process has been completed,
2- Not being able to cancel the process on the user request; for example by a Client Side button.

In Windows Desktop Application Development this is very trivial and can be simply implemented.
But in normal Web Programming there is no control over the Server processings. In fact, once the user presses a button which is posted-back to the Server and leads the code-behind out into a loop, there are no tools to show you how much of the loop has passed so far, or even to cancel the loop by a button from the Client Side.

When I was writing the Fractal Accounting software, I actually had the same problem, because there are many processes in such a software which are time-consuming and the users wouldn't normally know how long they should wait until the Response is back to them from the Server.
On the other hand, on such long processes, users might wish to cancel it because they might have found out that the Report's parameters (that they have provided to the software) are mistyped, or they might have found out a quicker way to get the same Report from the software.

This kept my mind busy for a long time on an approach to a solution for both problems. This was in my mind until in 2011 which a solution hit my mind one day and after few days I made a Class in C# and named it "InnovativeProgressBar" plus a javascript (.js) file which should be added to the page.

The below shows a page which has been equipped with this tool:
(The C# Class and the javascript that I have developed are so simple to be used for any pages in ASP.net that would take less that 5 minutes long to be added to a web-page.)


 
  Mehran Hoodeh, ProgressBar On Server Process  
     
  To do the job, the code behind will look like this:  
     
     
  Mehran Hoodeh, ProgressBar On Server Process