Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Remoting "Requested Service not found"

Posted on 2010-08-26
6
Medium Priority
?
1,233 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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 

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

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Simulator games are perfect for generating sample realistic data streams, especially for learning data analysis. It is even useful for demoing offerings such as Azure stream analytics, PowerBI etc.
How can you see what you are working on when you want to see it while you to save a copy? Add a "Save As" icon to the Quick Access Toolbar, or QAT. That way, when you save a copy of a query, form, report, or other object you are modifying, you…
Enter Foreign and Special Characters Enter characters you can't find on a keyboard using its ASCII code ... and learn how to make a handy reference for yourself using Excel ~ Use these codes in any Windows application! ... whether it is a Micr…
Suggested Courses
Course of the Month13 days, 13 hours left to enroll

581 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