How a web application C# code keeps on running a while loop for every minute?

Hi

I built a web application to send email at regular time. Now, I use a windows service to check whether there is new email needs to be sent for every minute. So, it has a web application for me to input email address, email content, datetime to send AND a windows service program to have a timer to check MSSQL regularly to send email.

Now, I want to combine them into one web or desktop application. How can the while loop in C# code can execute code for every minute?

Thanks for advice.
techquesAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

VegasCidCommented:

You can use timer class

reference       http://www.developer.com/lang/other/article.php/792901

1:  //  Timer02.cs - Displaying Date and Time
 2:  //      Using the Timer class. 
 3:  //      Press Ctrl+C to end program. 
 4:  //------------------------------------------
 5:  using System;
 6:  using System.Timers;
 7:  
 8:  class myApp
 9:  {
10:    public static void Main()
11:    {
12:      Timer myTimer = new Timer();
13:      myTimer.Elapsed += new ElapsedEventHandler( DisplayTimeEvent );
14:      myTimer.Interval = 1000;
15:      myTimer.Start();
16:  
17:      while ( Console.Read() != 'q' )
18:      {
19:          ;    // do nothing...
20:      }
21:    }
22:
23:    public static void DisplayTimeEvent( object source, ElapsedEventArgs e )
24:    {
25:        Console.Write("\r{0}", DateTime.Now);
26:    }

Open in new window

0
TechTiger007Commented:
It is better to have a windows service to sent mail, because if you create a web application or windows application it requires that an user is logged in to the machine for this application to run but it is not the case in windows service.

What I would suggest is have a table where you have the mail ids of users to whom mail has to be sent. Change your web application to  update this table (add/remove mail ids) Your windows service should be checking this data at regular interval and sent mail.

Instead of windows service you can also create a console application that sents mail to the configured users. You can schedule this application to run in regular interval. This way you can avoid creating a windows service and the timer logics
0
techquesAuthor Commented:
I had existing windows service program to send email. However, it is inconvenient to distribute to users as it will take much support work. So, I want to combine the client interface with the windows service program. When the user execute the program, it will run.

using System.Timers; is it for desktop application?
how about web application? how can i do it ?
while (600000)  //for each minute
{
execute the mail code
}
0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

VegasCidCommented:
Yes is for desktop application.
Web enviroment need someone on client to call codebehind
-with javascript    
setTimeout ( "doSomething()", 1000 );
function doSomething(){
document.form1.submit()
}
You can read more about it in http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
 
-with Meta-Tag
Also you can configure automatic submit with metaTag inside of head tag
<meta http-equiv="refresh" content="60">
 
You can use AjaxPro or any other AJAX framework to make this postback transparent if you need it.
 
Sorry for my English. I'm learning
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
VegasCidCommented:
In code-Behind put your code in pageLoad section
0
TechTiger007Commented:
A windows service cannot have user interface.
You can probably build a windows application for modifying email addresses and use the existing windows service for sending mails.

Because as I said if you are integrating mailing part with mail updating part into a windows application then an user has to be logged into the machine and make sure that the application is open so that it sends mail in regular interval
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.