Good morning

About six weeks ago, I got asked to migrate an existing Access database and VB 6 module to vb.NET. The application that was in place effectively allows the users (in this case the team that manages our telephone dialer) to take a file that's emailed to them every morning and turn it into outgoing email. The Access database is effectively used as a means to augment the data that's being received in the CSV file and configure the contents of the email such as message text, sender address, message subject, etc.

The solution I've built contains two parts. The first part enables the user to upload the current day's file and process it. That processing also includes the functionality to allow emails to be sent out in batches, thus avoiding the possibility of a large number of people responding to emails at times when there might be a lower resource availability in the call-centre. The second part of the solution is an application which sits on one of our servers and is run via Windows Task Scheduler at 5-minute intervals. When it runs, it polls the back-end database to find any unsent emails that are now due, and sends them by harnessing the SmtpClient.

From conversations I've had this morning, it looks to me as if I'm going to need to make some changes to the application that the dialer managers use, in order to give them a little more control over when the emails are sent out. My issue with that is not the modification of the email processing application, but the fact that at any point the dialer managers could find themselves updating a record that is about to be picked up and read by the server-based email sender. Therefore, I'm thinking of rewriting the server-based application so that it runs as a service, which could then (theoretically) be stopped and restarted by the email processing application.

If anyone can point me in the direction of a good tutorial on service-writing that leans towards VB rather than C#, that would be very much appreciated.