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

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

Who is Participating?
Salim FayadConnect With a Mentor Commented:
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.
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.

All Courses

From novice to tech pro — start learning today.