VB.Net Tutorial/Socket Network/Remoting — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 15:55, 26 мая 2010
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>