how can i Run-once code from web service without calling the function from on_start?

Posted on 2009-06-26
Last Modified: 2012-05-07
Here i am calling the SendMails() event from onstart event. while i am adding this one to web service taking more time to start the webservice.

now i want to call the sendmail event only once after the web service started.

or is any other method to send the mails other than using webservice.
Imports System.ServiceProcess

Imports System.Data.SqlClient

Imports System.Web.Mail

Public Class service1

    Inherits System.ServiceProcess.ServiceBase


	Dim sql As String

    Dim MyCon As SqlConnection

    Dim MyCmd As SqlCommand

    Dim MyRd As SqlDataReader

    Public conStr As String = "connection string"

    Protected Overrides Sub OnStart(ByVal args() As String)


    End Sub

    Protected Overrides Sub OnStop()

    End Sub

    Public Function SendMails()

        Dim sno As Int64

        Dim strMailBdy As String

        Dim msgMail As MailMessage

        Dim strAryEmail(5000) As String


            sql = "select Email from TUser where Sno between 1 and 50000"

            MyCon = New SqlConnection(conStr)


            MyCmd = New SqlCommand(sql, MyCon)

            MyRd = MyCmd.ExecuteReader

            sno = 0

            While MyRd.Read

                strAryEmail(sno) = MyRd("Email")

                sno = sno + 1

                If sno > 4999 Then

                    ReDim Preserve strAryEmail(sno + 1)

                End If

            End While


            MyCmd = Nothing


            Dim intCustLen As Int64

            intCustLen = sno - 1

            For sno = 0 To intCustLen Step 1

                If strAryEmail(sno).ToString <> "" Then


                    msgMail = New MailMessage

                    msgMail.To = strAryEmail(sno).ToString.Trim

                    msgMail.From = "From EmailID"

                    msgMail.Subject = "Subject"

                    msgMail.Body = "Email Body"

                    msgMail.BodyFormat = MailFormat.Html

                    msgMail.Priority = MailPriority.Normal




                    Catch ex As Exception

                    End Try


                End If


        Catch ex As Exception

            If MyCon.State = ConnectionState.Open Then MyCon.Close()

        End Try

    End Function

End Class

Open in new window

Question by:Ranjith_MCAD
1 Comment
LVL 11

Accepted Solution

Salim Fayad earned 500 total points
ID: 24727251
You can send emails from your web application directly without passing thrugh a webservice. But if you do want to do it from your webservice, you can write a function in your webserice that you call it from your web application.

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

In this Article, I will provide a few tips in problem and solution manner. Opening an ASPX page in Visual studio 2003 is very slow. To make it fast, please do follow below steps:   Open the Solution/Project. Right click the ASPX file to b…
In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
This video discusses moving either the default database or any database to a new volume.
Here's a very brief overview of the methods PRTG Network Monitor ( offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now