Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Remoting "Requested Service not found"

Posted on 2010-08-26
6
Medium Priority
?
1,187 Views
Last Modified: 2012-05-10
Hi,

I am trying to develope an remoting application but I am having a problem. Everytime I run a function from I got the "Requested Service not found" error. How can I solve it?
'Server side:
 Private Sub InitializeServer()

        Dim tcpPort As Integer = 8090

        Dim serverProv As New BinaryServerFormatterSinkProvider()
        serverProv.TypeFilterLevel = TypeFilterLevel.Full
        RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off

        serverProv.TypeFilterLevel = TypeFilterLevel.Full
        Dim propBag As IDictionary = New Hashtable()

        Dim isSecure As Boolean = False
        propBag("port") = tcpPort
        propBag("typeFilterLevel") = TypeFilterLevel.Full
        propBag("name") = "chn_comm"
        Dim tcpChan As TcpChannel = New TcpChannel(propBag, Nothing, serverProv)
        ChannelServices.RegisterChannel(tcpChan, isSecure)

        Dim uRI As String = "comm"
        ' ---------------------------------------------
        RemotingConfiguration.RegisterWellKnownServiceType(GetType(DataExchange.DataExchange), uRI, WellKnownObjectMode.SingleCall)

    End Sub

'Shared Library
Public Class DataExchange
    Inherits MarshalByRefObject

    Public test As String = "Merhaba Dünya"

    Public Sub SetValue(ByVal val As String)
        test = val
    End Sub

    Public Function GetValue() As String
        Return test
    End Function


End Class

'Client Code
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim de = CType(Activator.GetObject(GetType(DataExchange.DataExchange), "tcp://127.0.01:8090/comm/"), DataExchange.DataExchange)
        de.SetValue("test")
        MsgBox(de.GetValue)
    End Sub

Open in new window

0
Comment
Question by:emresamisuzer
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 65

Expert Comment

by:rockiroads
ID: 33538842
dont know if this helps but look at the solution here http://bytes.com/topic/c-sharp/answers/245188-remoting-object-requested-service-not-found

>> I fixed it by overriding the default MarshalByRefObject.InitializeLifetimeService to return null, which tells Remoting that the lease should never expire.
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 33538856
Read up more about this and you need to be a little careful as apparently it can give out memory leaks if not cleaned up properly (i.e. proper disconnects etc)

So reading this here is a possible solution regarding using InitialiseLifetimeServer http://www.cookcomputing.com/blog/archives/000258.html

Another thing to check is values you are using eg port number. Are they definitely correct?
0
 

Author Comment

by:emresamisuzer
ID: 33539112
I've already seen the MarshalByRefObject.InitializeLifetimeService solution but I didn't undestand how to do it. Could you please explain?
0
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 

Author Comment

by:emresamisuzer
ID: 33539145
I tried with the second example you have sent but the result is same.
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 33706610
Hiya, did u get anywhere with this? I couldnt find anything else to try. might be worth clicking on request attention to get a bump.
0
 

Accepted Solution

by:
emresamisuzer earned 0 total points
ID: 33706993
Yes, I found a solution. The problem was not the timeout, I think there was another problem with the code. I found another sample from a web site and it worked.
'Init Server
 	Dim ServiceChannel As IChannel
        Dim serverProv As BinaryServerFormatterSinkProvider = New BinaryServerFormatterSinkProvider
        Dim clientProv As BinaryClientFormatterSinkProvider = New BinaryClientFormatterSinkProvider
        Dim Props As IDictionary = New Hashtable
        Dim IpInjProvider As New IpInjectorSinkProvider

        serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full
        Props("port") = "8000"
        Props("name") = "MyApplication"
        serverProv.Next = IpInjProvider

        ServiceChannel = New TcpChannel(Props, clientProv, serverProv)
        '---------------------------------------------

        ChannelServices.RegisterChannel(ServiceChannel)

        RemotingConfiguration.RegisterWellKnownServiceType( _
              GetType(ActwinBillingCommunicationDataExchange.Queue), _
              "MyApplication", WellKnownObjectMode.Singleton)


'Connect to server
Private server As IRemoteLib
    Private Channel As System.Runtime.Remoting.Channels.Tcp.TcpChannel 'New System.Runtime.Remoting.Channels.tcp.TcpChannel(0)
    Private serverProv As BinaryServerFormatterSinkProvider
    Private clientProv As BinaryClientFormatterSinkProvider
    Private props As IDictionary = New Hashtable

serverProv = New BinaryServerFormatterSinkProvider
        clientProv = New BinaryClientFormatterSinkProvider
        serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full
        props("port") = 0
        props("connectiontimeout") = 120000
        'props("name") = privServiceName
        Channel = New TcpChannel(props, clientProv, serverProv)
ChannelServices.RegisterChannel(Channel)

            server = CType(Activator.GetObject(GetType(IRemoteLib), txt_remoting_server.Text.Trim), IRemoteLib)

Open in new window

0

Featured Post

Quick Start: DOCKER

Sometimes you just need a Quick Start on a topic in order to begin using it.. this is just what you need to know to get up and running with Docker!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…

688 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