ChannelServices.RegisterChannel : ChannelServices « System.Runtime.Remoting.Channels « VB.Net by API

Home
VB.Net by API
1.Microsoft.VisualBasic
2.Microsoft.Win32
3.System
4.System.Collections
5.System.Collections.Generic
6.System.Collections.Specialized
7.System.ComponentModel
8.System.Configuration.ConfigurationSettings
9.System.Data
10.System.Data.Odbc
11.System.Data.OleDb
12.System.Data.OracleClient
13.System.Data.SqlClient
14.System.Diagnostics
15.System.Drawing
16.System.Drawing.Drawing2D
17.System.Drawing.Imaging
18.System.Drawing.Printing
19.System.Drawing.Text
20.System.Globalization
21.System.IO
22.System.IO.IsolatedStorage
23.System.IO.Ports
24.System.Media
25.System.Messaging
26.System.Net
27.System.Net.Sockets
28.System.Reflection
29.System.Runtime.InteropServices
30.System.Runtime.Remoting.Channels
31.System.Runtime.Serialization
32.System.Runtime.Serialization.Formatters.Binary
33.System.Runtime.Serialization.Formatters.Soap
34.System.Security.Cryptography
35.System.Security.Cryptography.X509Certificates
36.System.Security.Permissions
37.System.Security.Principal
38.System.ServiceProcess
39.System.Text
40.System.Text.RegularExpressions
41.System.Threading
42.System.Web
43.System.Web.Mail
44.System.Windows.Forms
45.System.Xml
46.System.Xml.Schema
47.System.Xml.Serialization
48.System.Xml.Xsl
VB.Net
VB.Net Tutorial
VB.Net by API » System.Runtime.Remoting.Channels » ChannelServices 
ChannelServices.RegisterChannel
   

///////////////////////////////////general.vb
// Compile: vbc /target:library  general.vb
Imports System
Imports System.Runtime.Remoting.Messaging

Public MustInherit Class BaseRemoteObject
    Inherits MarshalByRefObject

    Public MustOverride Sub setValue(ByVal newval As Integer)
    Public MustOverride Function getValue() As Integer
End Class



///////////////////////////////////test.vb
// Compile: vbc /t:exe /r:general.dll test.vb
Imports System
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels.Http
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Proxies

Module Client

    Delegate Sub SetValueDelegate(ByVal value As Integer)

    Sub Main()
        Dim start As DateTime = System.DateTime.Now

        Dim channel As New HttpChannel()
        ChannelServices.RegisterChannel(channel,false)

        Dim obj As BaseRemoteObject = CType(Activator.GetObject_
            GetType(BaseRemoteObject), _
            "http://localhost:1234/MyRemoteObject.soap"), BaseRemoteObject)


        Dim svDelegate As New SetValueDelegate(AddressOf obj.setValue)
        Dim svAsyncres As IAsyncResult = svDelegate.BeginInvoke(42, Nothing, _
            Nothing)

        svDelegate.EndInvoke(svAsyncres)

        Dim tmp As Integer = obj.getValue()

        Console.WriteLine(tmp)
        Dim finished As DateTime = System.DateTime.Now
        Dim duration As TimeSpan = finished.Subtract(start)


        
    End Sub
End Module


///////////////////////////////////server.vb
// vbc /target:exe  /r:general.dll server.vb
Imports System
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels.Http
Imports System.Runtime.Remoting.Channels
Imports System.Threading


Class MyRemoteObject
    Inherits BaseRemoteObject
    Private myvalue As Integer

    Public Sub New()
    End Sub

    Public Overrides Sub setValue(ByVal newval As Integer)
        Console.WriteLine("old {0} new {1}", myvalue, newval)

        Thread.Sleep(5000)

        myvalue = newval
    End Sub


    Public Overrides Function getValue() As Integer
        Return myvalue
    End Function

End Class

Module ServerStartup

    Sub Main()
        Dim chnl As New HttpChannel(1234)
        ChannelServices.RegisterChannel(chnl,false)

        RemotingConfiguration.RegisterWellKnownServiceType_
            GetType(MyRemoteObject)"MyRemoteObject.soap", _
            WellKnownObjectMode.Singleton)

        Console.ReadLine()
    End Sub
End Module

   
    
    
  
Related examples in the same category
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.