VB.Net Tutorial/Socket Network/Remoting

Материал из VB Эксперт
Версия от 15:55, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Load remote object

<source lang="vbnet">Imports System.Runtime.Remoting

Imports System.Windows.Forms

<Serializable()> Public Class Hello

   Private strmyDomain As String
   Public Sub New()
       strmyDomain = AppDomain.CurrentDomain.FriendlyName
   End Sub
   Public Function GetMessage() As String
       Return strmyDomain
   End Function

End Class """""""""""""""""""""""""""""""""""""""""""""""""""" public class RemoteLoadingForm

  public Shared Sub Main
       Application.Run(New Form1)
  End Sub

End class Public Class Form1

   Inherits System.Windows.Forms.Form
   Public Sub New()
       MyBase.New()
       InitializeComponent()
   End Sub
   Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
       If disposing Then
           If Not (components Is Nothing) Then
               components.Dispose()
           End If
       End If
       MyBase.Dispose(disposing)
   End Sub
   Private components As System.ruponentModel.IContainer
   Friend WithEvents btnCreatDomain As System.Windows.Forms.Button
   Friend WithEvents txtDomain As System.Windows.Forms.TextBox
   Friend WithEvents Label1 As System.Windows.Forms.Label
   Friend WithEvents btnLoad As System.Windows.Forms.Button
   Friend WithEvents Label2 As System.Windows.Forms.Label
   Friend WithEvents lblMessage As System.Windows.Forms.Label
   Friend WithEvents btnCreateSayHello As System.Windows.Forms.Button
   Friend WithEvents Label3 As System.Windows.Forms.Label
   Friend WithEvents Label5 As System.Windows.Forms.Label
   Friend WithEvents lblLoad As System.Windows.Forms.Label
   Friend WithEvents lblCreate As System.Windows.Forms.Label
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
       Me.btnCreatDomain = New System.Windows.Forms.Button()
       Me.txtDomain = New System.Windows.Forms.TextBox()
       Me.Label1 = New System.Windows.Forms.Label()
       Me.btnLoad = New System.Windows.Forms.Button()
       Me.Label2 = New System.Windows.Forms.Label()
       Me.lblMessage = New System.Windows.Forms.Label()
       Me.btnCreateSayHello = New System.Windows.Forms.Button()
       Me.Label3 = New System.Windows.Forms.Label()
       Me.lblLoad = New System.Windows.Forms.Label()
       Me.Label5 = New System.Windows.Forms.Label()
       Me.lblCreate = New System.Windows.Forms.Label()
       Me.SuspendLayout()
       "
       "btnCreatDomain
       "
       Me.btnCreatDomain.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnCreatDomain.Location = New System.Drawing.Point(133, 56)
       Me.btnCreatDomain.Name = "btnCreatDomain"
       Me.btnCreatDomain.Size = New System.Drawing.Size(123, 32)
       Me.btnCreatDomain.TabIndex = 5
       Me.btnCreatDomain.Text = "New Domain"
       "
       "txtDomain
       "
       Me.txtDomain.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.txtDomain.Location = New System.Drawing.Point(123, 16)
       Me.txtDomain.Name = "txtDomain"
       Me.txtDomain.Size = New System.Drawing.Size(307, 23)
       Me.txtDomain.TabIndex = 4
       Me.txtDomain.Text = ""
       "
       "Label1
       "
       Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.Label1.Location = New System.Drawing.Point(20, 16)
       Me.Label1.Name = "Label1"
       Me.Label1.Size = New System.Drawing.Size(103, 24)
       Me.Label1.TabIndex = 3
       Me.Label1.Text = "New Domain"
       "
       "btnLoad
       "
       Me.btnLoad.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnLoad.Location = New System.Drawing.Point(266, 56)
       Me.btnLoad.Name = "btnLoad"
       Me.btnLoad.Size = New System.Drawing.Size(123, 32)
       Me.btnLoad.TabIndex = 6
       Me.btnLoad.Text = "Load SayHello"
       "
       "Label2
       "
       Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.Label2.Location = New System.Drawing.Point(10, 112)
       Me.Label2.Name = "Label2"
       Me.Label2.Size = New System.Drawing.Size(144, 24)
       Me.Label2.TabIndex = 8
       Me.Label2.Text = "Message"
       Me.Label2.TextAlign = System.Drawing.ContentAlignment.TopRight
       "
       "lblMessage
       "
       Me.lblMessage.BackColor = System.Drawing.Color.White
       Me.lblMessage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
       Me.lblMessage.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.lblMessage.Location = New System.Drawing.Point(164, 112)
       Me.lblMessage.Name = "lblMessage"
       Me.lblMessage.Size = New System.Drawing.Size(450, 24)
       Me.lblMessage.TabIndex = 7
       "
       "btnCreateSayHello
       "
       Me.btnCreateSayHello.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnCreateSayHello.Location = New System.Drawing.Point(399, 56)
       Me.btnCreateSayHello.Name = "btnCreateSayHello"
       Me.btnCreateSayHello.Size = New System.Drawing.Size(123, 32)
       Me.btnCreateSayHello.TabIndex = 9
       Me.btnCreateSayHello.Text = "Create SayHello"
       "
       "Label3
       "
       Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.Label3.Location = New System.Drawing.Point(0, 144)
       Me.Label3.Name = "Label3"
       Me.Label3.Size = New System.Drawing.Size(154, 24)
       Me.Label3.TabIndex = 11
       Me.Label3.Text = "Loading Message"
       Me.Label3.TextAlign = System.Drawing.ContentAlignment.TopRight
       "
       "lblLoad
       "
       Me.lblLoad.BackColor = System.Drawing.Color.White
       Me.lblLoad.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
       Me.lblLoad.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.lblLoad.Location = New System.Drawing.Point(164, 144)
       Me.lblLoad.Name = "lblLoad"
       Me.lblLoad.Size = New System.Drawing.Size(450, 24)
       Me.lblLoad.TabIndex = 10
       "
       "Label5
       "
       Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.Label5.Location = New System.Drawing.Point(10, 176)
       Me.Label5.Name = "Label5"
       Me.Label5.Size = New System.Drawing.Size(144, 24)
       Me.Label5.TabIndex = 13
       Me.Label5.Text = "Message"
       Me.Label5.TextAlign = System.Drawing.ContentAlignment.TopRight
       "
       "lblCreate
       "
       Me.lblCreate.BackColor = System.Drawing.Color.White
       Me.lblCreate.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
       Me.lblCreate.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.lblCreate.Location = New System.Drawing.Point(164, 176)
       Me.lblCreate.Name = "lblCreate"
       Me.lblCreate.Size = New System.Drawing.Size(450, 24)
       Me.lblCreate.TabIndex = 12
       "
       "Form1
       "
       Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
       Me.ClientSize = New System.Drawing.Size(655, 253)
       Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label5, Me.lblCreate, Me.Label3, Me.lblLoad, Me.btnCreateSayHello, Me.Label2, Me.lblMessage, Me.btnLoad, Me.btnCreatDomain, Me.txtDomain, Me.Label1})
       Me.ResumeLayout(False)
   End Sub
   Dim myAppDomain As AppDomain
   Private Sub btnCreatDomain_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreatDomain.Click
       Dim strDomain As String
       Try
           strDomain = txtDomain.Text
           myAppDomain = AppDomain.CreateDomain(strDomain)
           lblMessage.Text = "New " + myAppDomain.FriendlyName + " Created"
       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try
   End Sub
   Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click
       Dim mySayHelloInst As ObjectHandle
       Dim strDomain As String
       Dim mySayHello As Hello
       mySayHelloInst = myAppDomain.CreateInstance("SayHello", "Hello")
       mySayHello = mySayHelloInst.Unwrap()
       lblLoad.Text = "SayHello " + mySayHello.GetMessage()
   End Sub
   Private Sub btnCreateSayHello_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreateSayHello.Click
       Dim strDomain As String
       Dim mySayHello As New Hello()
       lblCreate.Text = "SayHello "  + mySayHello.GetMessage()
   End Sub
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   End Sub

End Class</source>