[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework.remoting

Windows Service Remoting Question

Chris Q.

10/26/2004 8:33:00 PM

I am designing a client/server application that will utilize remoting. I am
able to get things working without a problem using console applications, but
when I desire to create a windows service, I get all kinds of errors... none
of which are traceable.

This is how I began the process. I first created the console server and the
console client. I verified that they are working properly with both TCP
channels and HTTP channels. However, when I take the exact same code and
place it into a windows service, I get no-descriptive errors and
connectionsink problems.

I'm using well known single call objects on the server. The idea is to
contact the server to retrieve or save a dataset. This works beautifully with
the console apps either on a single machine or on seperate machines. However,
when I attempt to do the same task in a windows service on seperate machines,
I get the errors.

Anyone run into similar problems?

Thanks!
5 Answers

Ken Kolda

10/26/2004 9:41:00 PM

0

A few questions/comments:

1) Does your service start and stay running or does it terminate immediately
after starting?
2) Assuming the service starts, can you connect to the port it's using via
telnet to verify the server is listening for connections?
3) You must be getting some kind of exception, either from the server or
from the client when you attempt to connect. Can you post that in its
entirety?

If you could post the code of your service class, that would help too. Don't
post all your code -- just the class that derives from ServiceBase and only
the code that registers the channel and any remoting objects.

Ken


"Chris Q." <ChrisQ@discussions.microsoft.com> wrote in message
news:B7C9538A-992A-4CDF-843F-7099819DFEE9@microsoft.com...
> I am designing a client/server application that will utilize remoting. I
am
> able to get things working without a problem using console applications,
but
> when I desire to create a windows service, I get all kinds of errors...
none
> of which are traceable.
>
> This is how I began the process. I first created the console server and
the
> console client. I verified that they are working properly with both TCP
> channels and HTTP channels. However, when I take the exact same code and
> place it into a windows service, I get no-descriptive errors and
> connectionsink problems.
>
> I'm using well known single call objects on the server. The idea is to
> contact the server to retrieve or save a dataset. This works beautifully
with
> the console apps either on a single machine or on seperate machines.
However,
> when I attempt to do the same task in a windows service on seperate
machines,
> I get the errors.
>
> Anyone run into similar problems?
>
> Thanks!


Chris Q.

10/27/2004 2:17:00 PM

0

The service is written to write notification events into the application
event log, and there are no events indicating that the service is not
running. I'm using Try...Catch blocks to write events to the log if any
problems occur.

Here is the working console server:
Sub Main()
Dim TCPListener As TcpChannel
TCPListener = New TcpChannel(2550)
ChannelServices.RegisterChannel(TCPListener)

Try
RemotingConfiguration.ApplicationName = "ResumeServer"

RemotingConfiguration.RegisterWellKnownServiceType(GetType(ApplicantServer),
"applicants.rem", WellKnownObjectMode.SingleCall)
Configuration.WriteEvent("Applicant Server Registered",
EventLogEntryType.Information, 50090)
Catch rex As RemotingException
Configuration.WriteEvent(rex.Message, EventLogEntryType.Error,
50010)
Catch ex As Exception
Configuration.WriteEvent(ex, EventLogEntryType.Error, 50000)
End Try

Try
TCPListener.StartListening(Nothing)
Configuration.WriteEvent("The Resumè server is listening on port
2550" & vbCrLf & URLList.ToString, EventLogEntryType.Information, 0)
Catch ex As Exception
Configuration.WriteEvent(ex, EventLogEntryType.Error, 50020)
End Try
Console.ReadLine()
TCPListener.StopListening(Nothing)
End Sub

Here is the working console client:
Sub Main()
Dim ServerClient As TFF.ResumeManager.IApplicant =
Activator.GetObject(GetType(TFF.ResumeManager.IApplicant),
"http://localhost:2550/ResumeServer/applicants.rem")

Try
Dim ApplicantList As DataSet =
ServerClient.LoadApplicantList(True)
Console.WriteLine(ApplicantList.ToString())
Catch ex As System.Net.Sockets.SocketException
Console.WriteLine(ex.Message)
Console.WriteLine(ex.StackTrace)
Catch ex As System.Net.WebException
Console.WriteLine(ex.Message)
Console.WriteLine(ex.StackTrace)
Catch ex As Exception
Console.WriteLine(ex.Message)
Console.WriteLine(ex.StackTrace)
End Try
Console.ReadLine()
End Sub

Here is the service that is not currently working:
TCPListener = New HttpChannel(2550)
ChannelServices.RegisterChannel(TCPListener)

Try
RemotingConfiguration.ApplicationName = "ResumeServer"

RemotingConfiguration.RegisterWellKnownServiceType(GetType(ApplicantServer),
"applicants.rem", WellKnownObjectMode.SingleCall)
ServerUtility.WriteEvent("Applicant Server Registered",
EventLogEntryType.Information, 50090)
Catch rex As RemotingException
ServerUtility.WriteEvent("Line 76", EventLogEntryType.Information)
ServerUtility.WriteEvent(rex.Message, EventLogEntryType.Error,
50010)
Catch ex As Exception
ServerUtility.WriteEvent("Line 78", EventLogEntryType.Information)
ServerUtility.WriteEvent(ex, EventLogEntryType.Error, 50000)
Finally
Me.OnStop()
End Try

Try
TCPListener.StartListening(Nothing)
ServerUtility.WriteEvent("The Resumè server is listening on port
2550" & vbCrLf & URLList.ToString, EventLogEntryType.Information, 0)
Catch ex As Exception
ServerUtility.WriteEvent("Line 96", EventLogEntryType.Information)
ServerUtility.WriteEvent(ex, EventLogEntryType.Error, 50020)
OnStop()
End Try

The activator on the client works fine until I call a method on the remoting
object which is inheriting from MarshalByRef. I get a null reference from the
service server. I get a dataset from the console server.

Thanks for any assistance.

"Ken Kolda" wrote:

> A few questions/comments:
>
> 1) Does your service start and stay running or does it terminate immediately
> after starting?
> 2) Assuming the service starts, can you connect to the port it's using via
> telnet to verify the server is listening for connections?
> 3) You must be getting some kind of exception, either from the server or
> from the client when you attempt to connect. Can you post that in its
> entirety?
>
> If you could post the code of your service class, that would help too. Don't
> post all your code -- just the class that derives from ServiceBase and only
> the code that registers the channel and any remoting objects.
>
> Ken
>
>
> "Chris Q." <ChrisQ@discussions.microsoft.com> wrote in message
> news:B7C9538A-992A-4CDF-843F-7099819DFEE9@microsoft.com...
> > I am designing a client/server application that will utilize remoting. I
> am
> > able to get things working without a problem using console applications,
> but
> > when I desire to create a windows service, I get all kinds of errors...
> none
> > of which are traceable.
> >
> > This is how I began the process. I first created the console server and
> the
> > console client. I verified that they are working properly with both TCP
> > channels and HTTP channels. However, when I take the exact same code and
> > place it into a windows service, I get no-descriptive errors and
> > connectionsink problems.
> >
> > I'm using well known single call objects on the server. The idea is to
> > contact the server to retrieve or save a dataset. This works beautifully
> with
> > the console apps either on a single machine or on seperate machines.
> However,
> > when I attempt to do the same task in a windows service on seperate
> machines,
> > I get the errors.
> >
> > Anyone run into similar problems?
> >
> > Thanks!
>
>
>

Ken Kolda

10/27/2004 3:05:00 PM

0

The first problem I see is that you should not be calling the
StartListening() method on the TCPListener object. The remoting framework
will take care of that for you. What I'm guessing is that when you call this
an exception occurs and it calls OnStop() (which, I'm guessing, stops the
TCPListener from listening). Why you don't see anything in the event log I'm
not sure. Do you see the "Application Server Registered" entry in the log
after the remote object is registered?

Also, you don't show this but I assume this code is on the OnStart() method
of the service class (which is good). If not, you should either put it there
or somewhere else you can ensure will only run once.

Ken


"Chris Q." <ChrisQ@discussions.microsoft.com> wrote in message
news:CAF9682A-C592-4FDE-BB1D-9199DA588284@microsoft.com...
> The service is written to write notification events into the application
> event log, and there are no events indicating that the service is not
> running. I'm using Try...Catch blocks to write events to the log if any
> problems occur.
>
> Here is the working console server:
> Sub Main()
> Dim TCPListener As TcpChannel
> TCPListener = New TcpChannel(2550)
> ChannelServices.RegisterChannel(TCPListener)
>
> Try
> RemotingConfiguration.ApplicationName = "ResumeServer"
>
>
RemotingConfiguration.RegisterWellKnownServiceType(GetType(ApplicantServer),
> "applicants.rem", WellKnownObjectMode.SingleCall)
> Configuration.WriteEvent("Applicant Server Registered",
> EventLogEntryType.Information, 50090)
> Catch rex As RemotingException
> Configuration.WriteEvent(rex.Message, EventLogEntryType.Error,
> 50010)
> Catch ex As Exception
> Configuration.WriteEvent(ex, EventLogEntryType.Error, 50000)
> End Try
>
> Try
> TCPListener.StartListening(Nothing)
> Configuration.WriteEvent("The Resumè server is listening on
port
> 2550" & vbCrLf & URLList.ToString, EventLogEntryType.Information, 0)
> Catch ex As Exception
> Configuration.WriteEvent(ex, EventLogEntryType.Error, 50020)
> End Try
> Console.ReadLine()
> TCPListener.StopListening(Nothing)
> End Sub
>
> Here is the working console client:
> Sub Main()
> Dim ServerClient As TFF.ResumeManager.IApplicant =
> Activator.GetObject(GetType(TFF.ResumeManager.IApplicant),
> "http://localhost:2550/ResumeServer/applicants.rem")
>
> Try
> Dim ApplicantList As DataSet =
> ServerClient.LoadApplicantList(True)
> Console.WriteLine(ApplicantList.ToString())
> Catch ex As System.Net.Sockets.SocketException
> Console.WriteLine(ex.Message)
> Console.WriteLine(ex.StackTrace)
> Catch ex As System.Net.WebException
> Console.WriteLine(ex.Message)
> Console.WriteLine(ex.StackTrace)
> Catch ex As Exception
> Console.WriteLine(ex.Message)
> Console.WriteLine(ex.StackTrace)
> End Try
> Console.ReadLine()
> End Sub
>
> Here is the service that is not currently working:
> TCPListener = New HttpChannel(2550)
> ChannelServices.RegisterChannel(TCPListener)
>
> Try
> RemotingConfiguration.ApplicationName = "ResumeServer"
>
>
RemotingConfiguration.RegisterWellKnownServiceType(GetType(ApplicantServer),
> "applicants.rem", WellKnownObjectMode.SingleCall)
> ServerUtility.WriteEvent("Applicant Server Registered",
> EventLogEntryType.Information, 50090)
> Catch rex As RemotingException
> ServerUtility.WriteEvent("Line 76",
EventLogEntryType.Information)
> ServerUtility.WriteEvent(rex.Message, EventLogEntryType.Error,
> 50010)
> Catch ex As Exception
> ServerUtility.WriteEvent("Line 78",
EventLogEntryType.Information)
> ServerUtility.WriteEvent(ex, EventLogEntryType.Error, 50000)
> Finally
> Me.OnStop()
> End Try
>
> Try
> TCPListener.StartListening(Nothing)
> ServerUtility.WriteEvent("The Resumè server is listening on
port
> 2550" & vbCrLf & URLList.ToString, EventLogEntryType.Information, 0)
> Catch ex As Exception
> ServerUtility.WriteEvent("Line 96",
EventLogEntryType.Information)
> ServerUtility.WriteEvent(ex, EventLogEntryType.Error, 50020)
> OnStop()
> End Try
>
> The activator on the client works fine until I call a method on the
remoting
> object which is inheriting from MarshalByRef. I get a null reference from
the
> service server. I get a dataset from the console server.
>
> Thanks for any assistance.
>
> "Ken Kolda" wrote:
>
> > A few questions/comments:
> >
> > 1) Does your service start and stay running or does it terminate
immediately
> > after starting?
> > 2) Assuming the service starts, can you connect to the port it's using
via
> > telnet to verify the server is listening for connections?
> > 3) You must be getting some kind of exception, either from the server or
> > from the client when you attempt to connect. Can you post that in its
> > entirety?
> >
> > If you could post the code of your service class, that would help too.
Don't
> > post all your code -- just the class that derives from ServiceBase and
only
> > the code that registers the channel and any remoting objects.
> >
> > Ken
> >
> >
> > "Chris Q." <ChrisQ@discussions.microsoft.com> wrote in message
> > news:B7C9538A-992A-4CDF-843F-7099819DFEE9@microsoft.com...
> > > I am designing a client/server application that will utilize remoting.
I
> > am
> > > able to get things working without a problem using console
applications,
> > but
> > > when I desire to create a windows service, I get all kinds of
errors...
> > none
> > > of which are traceable.
> > >
> > > This is how I began the process. I first created the console server
and
> > the
> > > console client. I verified that they are working properly with both
TCP
> > > channels and HTTP channels. However, when I take the exact same code
and
> > > place it into a windows service, I get no-descriptive errors and
> > > connectionsink problems.
> > >
> > > I'm using well known single call objects on the server. The idea is to
> > > contact the server to retrieve or save a dataset. This works
beautifully
> > with
> > > the console apps either on a single machine or on seperate machines.
> > However,
> > > when I attempt to do the same task in a windows service on seperate
> > machines,
> > > I get the errors.
> > >
> > > Anyone run into similar problems?
> > >
> > > Thanks!
> >
> >
> >


Chris Q.

10/27/2004 3:19:00 PM

0

Ken,

I really appreciate your help. Once I removed the TCPListener.StartListening
and TCPListerner.StopListening methods everything began working perfectly.
Thank you so much! This has been a 14 hours stumbling block for me.

I did included the registration of the objects in the OnStart method because
all the examples I have seen do this. However, the same examples show a call
to the StartListening and StopListening methods.

Later!
Chris

"Ken Kolda" wrote:

> The first problem I see is that you should not be calling the
> StartListening() method on the TCPListener object. The remoting framework
> will take care of that for you. What I'm guessing is that when you call this
> an exception occurs and it calls OnStop() (which, I'm guessing, stops the
> TCPListener from listening). Why you don't see anything in the event log I'm
> not sure. Do you see the "Application Server Registered" entry in the log
> after the remote object is registered?
>
> Also, you don't show this but I assume this code is on the OnStart() method
> of the service class (which is good). If not, you should either put it there
> or somewhere else you can ensure will only run once.
>
> Ken
>
>
> "Chris Q." <ChrisQ@discussions.microsoft.com> wrote in message
> news:CAF9682A-C592-4FDE-BB1D-9199DA588284@microsoft.com...
> > The service is written to write notification events into the application
> > event log, and there are no events indicating that the service is not
> > running. I'm using Try...Catch blocks to write events to the log if any
> > problems occur.
> >
> > Here is the working console server:
> > Sub Main()
> > Dim TCPListener As TcpChannel
> > TCPListener = New TcpChannel(2550)
> > ChannelServices.RegisterChannel(TCPListener)
> >
> > Try
> > RemotingConfiguration.ApplicationName = "ResumeServer"
> >
> >
> RemotingConfiguration.RegisterWellKnownServiceType(GetType(ApplicantServer),
> > "applicants.rem", WellKnownObjectMode.SingleCall)
> > Configuration.WriteEvent("Applicant Server Registered",
> > EventLogEntryType.Information, 50090)
> > Catch rex As RemotingException
> > Configuration.WriteEvent(rex.Message, EventLogEntryType.Error,
> > 50010)
> > Catch ex As Exception
> > Configuration.WriteEvent(ex, EventLogEntryType.Error, 50000)
> > End Try
> >
> > Try
> > TCPListener.StartListening(Nothing)
> > Configuration.WriteEvent("The Resumè server is listening on
> port
> > 2550" & vbCrLf & URLList.ToString, EventLogEntryType.Information, 0)
> > Catch ex As Exception
> > Configuration.WriteEvent(ex, EventLogEntryType.Error, 50020)
> > End Try
> > Console.ReadLine()
> > TCPListener.StopListening(Nothing)
> > End Sub
> >
> > Here is the working console client:
> > Sub Main()
> > Dim ServerClient As TFF.ResumeManager.IApplicant =
> > Activator.GetObject(GetType(TFF.ResumeManager.IApplicant),
> > "http://localhost:2550/ResumeServer/applicants.rem")
> >
> > Try
> > Dim ApplicantList As DataSet =
> > ServerClient.LoadApplicantList(True)
> > Console.WriteLine(ApplicantList.ToString())
> > Catch ex As System.Net.Sockets.SocketException
> > Console.WriteLine(ex.Message)
> > Console.WriteLine(ex.StackTrace)
> > Catch ex As System.Net.WebException
> > Console.WriteLine(ex.Message)
> > Console.WriteLine(ex.StackTrace)
> > Catch ex As Exception
> > Console.WriteLine(ex.Message)
> > Console.WriteLine(ex.StackTrace)
> > End Try
> > Console.ReadLine()
> > End Sub
> >
> > Here is the service that is not currently working:
> > TCPListener = New HttpChannel(2550)
> > ChannelServices.RegisterChannel(TCPListener)
> >
> > Try
> > RemotingConfiguration.ApplicationName = "ResumeServer"
> >
> >
> RemotingConfiguration.RegisterWellKnownServiceType(GetType(ApplicantServer),
> > "applicants.rem", WellKnownObjectMode.SingleCall)
> > ServerUtility.WriteEvent("Applicant Server Registered",
> > EventLogEntryType.Information, 50090)
> > Catch rex As RemotingException
> > ServerUtility.WriteEvent("Line 76",
> EventLogEntryType.Information)
> > ServerUtility.WriteEvent(rex.Message, EventLogEntryType.Error,
> > 50010)
> > Catch ex As Exception
> > ServerUtility.WriteEvent("Line 78",
> EventLogEntryType.Information)
> > ServerUtility.WriteEvent(ex, EventLogEntryType.Error, 50000)
> > Finally
> > Me.OnStop()
> > End Try
> >
> > Try
> > TCPListener.StartListening(Nothing)
> > ServerUtility.WriteEvent("The Resumè server is listening on
> port
> > 2550" & vbCrLf & URLList.ToString, EventLogEntryType.Information, 0)
> > Catch ex As Exception
> > ServerUtility.WriteEvent("Line 96",
> EventLogEntryType.Information)
> > ServerUtility.WriteEvent(ex, EventLogEntryType.Error, 50020)
> > OnStop()
> > End Try
> >
> > The activator on the client works fine until I call a method on the
> remoting
> > object which is inheriting from MarshalByRef. I get a null reference from
> the
> > service server. I get a dataset from the console server.
> >
> > Thanks for any assistance.
> >
> > "Ken Kolda" wrote:
> >
> > > A few questions/comments:
> > >
> > > 1) Does your service start and stay running or does it terminate
> immediately
> > > after starting?
> > > 2) Assuming the service starts, can you connect to the port it's using
> via
> > > telnet to verify the server is listening for connections?
> > > 3) You must be getting some kind of exception, either from the server or
> > > from the client when you attempt to connect. Can you post that in its
> > > entirety?
> > >
> > > If you could post the code of your service class, that would help too.
> Don't
> > > post all your code -- just the class that derives from ServiceBase and
> only
> > > the code that registers the channel and any remoting objects.
> > >
> > > Ken
> > >
> > >
> > > "Chris Q." <ChrisQ@discussions.microsoft.com> wrote in message
> > > news:B7C9538A-992A-4CDF-843F-7099819DFEE9@microsoft.com...
> > > > I am designing a client/server application that will utilize remoting.
> I
> > > am
> > > > able to get things working without a problem using console
> applications,
> > > but
> > > > when I desire to create a windows service, I get all kinds of
> errors...
> > > none
> > > > of which are traceable.
> > > >
> > > > This is how I began the process. I first created the console server
> and
> > > the
> > > > console client. I verified that they are working properly with both
> TCP
> > > > channels and HTTP channels. However, when I take the exact same code
> and
> > > > place it into a windows service, I get no-descriptive errors and
> > > > connectionsink problems.
> > > >
> > > > I'm using well known single call objects on the server. The idea is to
> > > > contact the server to retrieve or save a dataset. This works
> beautifully
> > > with
> > > > the console apps either on a single machine or on seperate machines.
> > > However,
> > > > when I attempt to do the same task in a windows service on seperate
> > > machines,
> > > > I get the errors.
> > > >
> > > > Anyone run into similar problems?
> > > >
> > > > Thanks!
> > >
> > >
> > >
>
>
>

Ken Kolda

10/27/2004 3:26:00 PM

0

Calling StartListener/StopListener is really only necessary if you're
implementing your own client/server protocol. When you're using remoting,
that's all take care of for you. I can only assume the examples you saw
weren't using remoting, otherwise I'm not sure why they'd be doing this.

Ken


"Chris Q." <ChrisQ@discussions.microsoft.com> wrote in message
news:6A99D793-D57F-4BAC-AB6C-65A1AD0C560A@microsoft.com...
> Ken,
>
> I really appreciate your help. Once I removed the
TCPListener.StartListening
> and TCPListerner.StopListening methods everything began working perfectly.
> Thank you so much! This has been a 14 hours stumbling block for me.
>
> I did included the registration of the objects in the OnStart method
because
> all the examples I have seen do this. However, the same examples show a
call
> to the StartListening and StopListening methods.
>
> Later!
> Chris
>
> "Ken Kolda" wrote:
>
> > The first problem I see is that you should not be calling the
> > StartListening() method on the TCPListener object. The remoting
framework
> > will take care of that for you. What I'm guessing is that when you call
this
> > an exception occurs and it calls OnStop() (which, I'm guessing, stops
the
> > TCPListener from listening). Why you don't see anything in the event log
I'm
> > not sure. Do you see the "Application Server Registered" entry in the
log
> > after the remote object is registered?
> >
> > Also, you don't show this but I assume this code is on the OnStart()
method
> > of the service class (which is good). If not, you should either put it
there
> > or somewhere else you can ensure will only run once.
> >
> > Ken
> >
> >
> > "Chris Q." <ChrisQ@discussions.microsoft.com> wrote in message
> > news:CAF9682A-C592-4FDE-BB1D-9199DA588284@microsoft.com...
> > > The service is written to write notification events into the
application
> > > event log, and there are no events indicating that the service is not
> > > running. I'm using Try...Catch blocks to write events to the log if
any
> > > problems occur.
> > >
> > > Here is the working console server:
> > > Sub Main()
> > > Dim TCPListener As TcpChannel
> > > TCPListener = New TcpChannel(2550)
> > > ChannelServices.RegisterChannel(TCPListener)
> > >
> > > Try
> > > RemotingConfiguration.ApplicationName = "ResumeServer"
> > >
> > >
> >
RemotingConfiguration.RegisterWellKnownServiceType(GetType(ApplicantServer),
> > > "applicants.rem", WellKnownObjectMode.SingleCall)
> > > Configuration.WriteEvent("Applicant Server Registered",
> > > EventLogEntryType.Information, 50090)
> > > Catch rex As RemotingException
> > > Configuration.WriteEvent(rex.Message,
EventLogEntryType.Error,
> > > 50010)
> > > Catch ex As Exception
> > > Configuration.WriteEvent(ex, EventLogEntryType.Error,
50000)
> > > End Try
> > >
> > > Try
> > > TCPListener.StartListening(Nothing)
> > > Configuration.WriteEvent("The Resumè server is listening
on
> > port
> > > 2550" & vbCrLf & URLList.ToString, EventLogEntryType.Information, 0)
> > > Catch ex As Exception
> > > Configuration.WriteEvent(ex, EventLogEntryType.Error,
50020)
> > > End Try
> > > Console.ReadLine()
> > > TCPListener.StopListening(Nothing)
> > > End Sub
> > >
> > > Here is the working console client:
> > > Sub Main()
> > > Dim ServerClient As TFF.ResumeManager.IApplicant =
> > > Activator.GetObject(GetType(TFF.ResumeManager.IApplicant),
> > > "http://localhost:2550/ResumeServer/applicants.rem")
> > >
> > > Try
> > > Dim ApplicantList As DataSet =
> > > ServerClient.LoadApplicantList(True)
> > > Console.WriteLine(ApplicantList.ToString())
> > > Catch ex As System.Net.Sockets.SocketException
> > > Console.WriteLine(ex.Message)
> > > Console.WriteLine(ex.StackTrace)
> > > Catch ex As System.Net.WebException
> > > Console.WriteLine(ex.Message)
> > > Console.WriteLine(ex.StackTrace)
> > > Catch ex As Exception
> > > Console.WriteLine(ex.Message)
> > > Console.WriteLine(ex.StackTrace)
> > > End Try
> > > Console.ReadLine()
> > > End Sub
> > >
> > > Here is the service that is not currently working:
> > > TCPListener = New HttpChannel(2550)
> > > ChannelServices.RegisterChannel(TCPListener)
> > >
> > > Try
> > > RemotingConfiguration.ApplicationName = "ResumeServer"
> > >
> > >
> >
RemotingConfiguration.RegisterWellKnownServiceType(GetType(ApplicantServer),
> > > "applicants.rem", WellKnownObjectMode.SingleCall)
> > > ServerUtility.WriteEvent("Applicant Server Registered",
> > > EventLogEntryType.Information, 50090)
> > > Catch rex As RemotingException
> > > ServerUtility.WriteEvent("Line 76",
> > EventLogEntryType.Information)
> > > ServerUtility.WriteEvent(rex.Message,
EventLogEntryType.Error,
> > > 50010)
> > > Catch ex As Exception
> > > ServerUtility.WriteEvent("Line 78",
> > EventLogEntryType.Information)
> > > ServerUtility.WriteEvent(ex, EventLogEntryType.Error,
50000)
> > > Finally
> > > Me.OnStop()
> > > End Try
> > >
> > > Try
> > > TCPListener.StartListening(Nothing)
> > > ServerUtility.WriteEvent("The Resumè server is listening
on
> > port
> > > 2550" & vbCrLf & URLList.ToString, EventLogEntryType.Information, 0)
> > > Catch ex As Exception
> > > ServerUtility.WriteEvent("Line 96",
> > EventLogEntryType.Information)
> > > ServerUtility.WriteEvent(ex, EventLogEntryType.Error,
50020)
> > > OnStop()
> > > End Try
> > >
> > > The activator on the client works fine until I call a method on the
> > remoting
> > > object which is inheriting from MarshalByRef. I get a null reference
from
> > the
> > > service server. I get a dataset from the console server.
> > >
> > > Thanks for any assistance.
> > >
> > > "Ken Kolda" wrote:
> > >
> > > > A few questions/comments:
> > > >
> > > > 1) Does your service start and stay running or does it terminate
> > immediately
> > > > after starting?
> > > > 2) Assuming the service starts, can you connect to the port it's
using
> > via
> > > > telnet to verify the server is listening for connections?
> > > > 3) You must be getting some kind of exception, either from the
server or
> > > > from the client when you attempt to connect. Can you post that in
its
> > > > entirety?
> > > >
> > > > If you could post the code of your service class, that would help
too.
> > Don't
> > > > post all your code -- just the class that derives from ServiceBase
and
> > only
> > > > the code that registers the channel and any remoting objects.
> > > >
> > > > Ken
> > > >
> > > >
> > > > "Chris Q." <ChrisQ@discussions.microsoft.com> wrote in message
> > > > news:B7C9538A-992A-4CDF-843F-7099819DFEE9@microsoft.com...
> > > > > I am designing a client/server application that will utilize
remoting.
> > I
> > > > am
> > > > > able to get things working without a problem using console
> > applications,
> > > > but
> > > > > when I desire to create a windows service, I get all kinds of
> > errors...
> > > > none
> > > > > of which are traceable.
> > > > >
> > > > > This is how I began the process. I first created the console
server
> > and
> > > > the
> > > > > console client. I verified that they are working properly with
both
> > TCP
> > > > > channels and HTTP channels. However, when I take the exact same
code
> > and
> > > > > place it into a windows service, I get no-descriptive errors and
> > > > > connectionsink problems.
> > > > >
> > > > > I'm using well known single call objects on the server. The idea
is to
> > > > > contact the server to retrieve or save a dataset. This works
> > beautifully
> > > > with
> > > > > the console apps either on a single machine or on seperate
machines.
> > > > However,
> > > > > when I attempt to do the same task in a windows service on
seperate
> > > > machines,
> > > > > I get the errors.
> > > > >
> > > > > Anyone run into similar problems?
> > > > >
> > > > > Thanks!
> > > >
> > > >
> > > >
> >
> >
> >