1

can i have a function in windows service and return the data to vb.net application?

here's my sample code in windows service:

 Protected Overrides Sub OnStart(ByVal args() As String)
        ' Add code here to start your service. This method should set things
        ' in motion so your service can do its work.
        EventLog1.WriteEntry("In OnStart")
    End Sub

    Protected Overrides Sub OnStop()
        ' Add code here to perform any tear-down necessary to stop your service.
        EventLog1.WriteEntry("In OnStop.")
    End Sub
    Protected Overrides Sub OnContinue()
        EventLog1.WriteEntry("In OnContinue.")
    End Sub
    Protected Overrides Sub OnCustomCommand(ByVal command As Integer)
        Dim mymsg As String
        Dim servicestorun As New System.ServiceProcess.ServiceBase
        If (command < 128) Then
            MyBase.OnCustomCommand(command)
        Else
            Select Case command
                Case 129
                    mymsg = "i want this msg to my vb.net application"
                Case Else
            End Select
        End If

    End Sub

Here's my code with vb.net application:

Dim myServiceController As New System.ServiceProcess.ServiceController("MyNewService")

        Dim status As String
        Try
            myServiceController.ExecuteCommand(129)
 ' i want to get the msg from my windows service "i want this msg to my vb.net application"
            status = "Custom Command Executed Successfully!"
        Catch ex As Exception
            status = "Failed To Execute Custom Command! " & ex.Message
        End Try

Please need help.

1 Answers1

1

You can use your windows service as a WCF host. See for instance http://msdn.microsoft.com/en-us/library/ms733069.aspx

For communication on the same machine, I would recommend Named Pipe (NetNamedPipeBinding). You could even use Named Pipes without using WCF (http://stackoverflow.com/questions/4303154/)

Alf Kåre Lefdal
  • 643
  • 1
  • 6
  • 27