vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ASP.NET, WebServices u. Remoting
Re: Remoting mit shared Assemblies 
Autor: ModeratorDaveS (Moderator)
Datum: 08.02.05 12:30

Hier ist deine Klasse leicht abgwandelt
Imports System
Imports System.ComponentModel
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.Tcp
 
<Serializable()> _
Public Class RemotingClass
    Inherits System.MarshalByRefObject
 
    Public Overrides Function InitializeLifetimeService() As Object
        Return Nothing
    End Function
 
    Enum Mode
        None
        Server
        Client
    End Enum
 
    Private m_SharedText As String
 
    Private Shared s_Mode As Mode = Mode.None
    ' port to use
    Const DefaultPort As Integer = 12345
    ' name of the well known object
    Const ObjectName As String = "RemotingClass.Instance"
    ' local instance or proxy
    Private Shared s_dx As RemotingClass
 
    Public Property SharedText() As String
        Get
            SharedText = m_SharedText
        End Get
        Set(ByVal Value As String)
            m_SharedText = Value
        End Set
    End Property
 
    Public Shared Sub InitServer()
        If s_Mode <> Mode.None Then MsgBox("Already initialized")
        ChannelServices.RegisterChannel(New TcpChannel(DefaultPort))
        RemotingConfiguration.RegisterWellKnownServiceType(GetType( _
          RemotingClass), ObjectName, WellKnownObjectMode.Singleton)
        s_Mode = Mode.Server
    End Sub
 
    Public Shared Sub InitClient()
        If s_Mode <> Mode.None Then MsgBox("Server/Client already initialized")
        ChannelServices.RegisterChannel(New TcpChannel)
        s_dx = CType(Activator.GetObject(GetType(RemotingClass), String.Format( _
          "tcp://localhost:{0}/{1}", DefaultPort, ObjectName)), RemotingClass)
        s_Mode = Mode.Client
    End Sub
 
    Public Shared ReadOnly Property Instance() As RemotingClass
        Get
            Return s_dx
        End Get
    End Property
 
    Private Sub New()
        s_dx = Me
    End Sub
End Class
Das ist in einem Projekt "Common". Hier ist der Server:
Public Class Form1
    Inherits System.Windows.Forms.Form
 
#Region " Windows Form Designer generated code "
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        Common.RemotingClass.InitServer()
        Me.Text = "Server"
    End Sub
 
    ' Set
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Common.RemotingClass.Instance.SharedText = TextBox1.Text
    End Sub
 
    ' Get
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button2.Click
        TextBox1.Text = Common.RemotingClass.Instance.SharedText
    End Sub
End Class
Der Client ist gleich, nur mit .InitClient() und Me.Text = "Client". Und das klappt. Ich möchte nicht sagen ich würde Remoting unbedingt so implementieren, aber in einem einfachen Fall so geht's.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Remoting mit shared Assemblies2.515STSC07.02.05 10:05
Re: Remoting mit shared Assemblies1.318ModeratorDaveS07.02.05 10:14
Re: Remoting mit shared Assemblies1.296ModeratorDaveS07.02.05 10:19
Re: Remoting mit shared Assemblies1.320STSC07.02.05 13:31
Re: Remoting mit shared Assemblies1.428ModeratorDaveS07.02.05 13:56
Re: Remoting mit shared Assemblies1.264STSC07.02.05 14:04
Re: Remoting mit shared Assemblies1.246ModeratorDaveS07.02.05 14:11
Re: Remoting mit shared Assemblies1.300STSC07.02.05 14:13
Re: Remoting mit shared Assemblies1.343ModeratorDaveS07.02.05 15:45
Re: Remoting mit shared Assemblies1.319STSC07.02.05 16:09
Re: Remoting mit shared Assemblies1.186ModeratorDaveS07.02.05 17:46
Re: Remoting mit shared Assemblies1.260STSC07.02.05 18:02
Re: Remoting mit shared Assemblies1.528STSC08.02.05 10:39
Re: Remoting mit shared Assemblies1.382ModeratorDaveS08.02.05 12:30
Re: Remoting mit shared Assemblies1.343STSC08.02.05 12:58
Re: Remoting mit shared Assemblies1.226ModeratorDaveS08.02.05 14:19
Re: Remoting mit shared Assemblies1.386STSC08.02.05 21:29
Re: Remoting mit shared Assemblies1.267STSC09.02.05 11:19
Re: Remoting mit shared Assemblies1.308STSC11.02.05 21:03
Re: Remoting mit shared Assemblies1.289ModeratorDaveS12.02.05 12:55
Re: Remoting mit shared Assemblies1.541STSC14.02.05 11:29
Re: Remoting mit shared Assemblies1.470ModeratorDaveS14.02.05 22:24
Re: Remoting mit shared Assemblies1.221STSC15.02.05 13:52
Re: Remoting mit shared Assemblies1.302ModeratorDaveS15.02.05 15:24
Re: Remoting mit shared Assemblies1.270STSC15.02.05 19:49
Re: Remoting mit shared Assemblies1.372ModeratorDaveS15.02.05 20:15
Re: Remoting mit shared Assemblies1.439STSC15.02.05 23:46
Re: Remoting mit shared Assemblies1.424ModeratorDaveS16.02.05 09:54

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel