Solved

Remoting "Requested Service not found"

Posted on 2010-08-26
6
1,117 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
  • 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
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

920 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

11 Experts available now in Live!

Get 1:1 Help Now