Feedback

C# - IPCRemoting Channel

Veröffentlicht von am 09.08.2006
(3 Bewertungen)
Erstellung eines IPCRemoting Channel
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

/*
Kurze Erklärung: Das RemoteObjekt muß als Klassenbibliothek erstellt werden und unter Verweise beim Server sowie beim Client hinzugefügt sein.
*/

//Hier wird der Server Beschrieben
using System;
using System.Runtime.Remoting.Channels.Ipc;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting;
using System.Security.Permissions;

public class Servers
{
    [SecurityPermission(SecurityAction.Demand)]
    public static void Main(string[] args)
    {
        // Erstellen eines Channel
        IpcChannel serverChannel = new IpcChannel("localhost:9091");

        // Registriert denn Channal zum Server
        ChannelServices.RegisterChannel(serverChannel);

        // Stellt das Objekt für denn registrierten Channal bereit.
        RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteObject), "RemoteObject.rem",
                                                            WellKnownObjectMode.Singleton);

        Console.WriteLine("Drück ENTER zum Beenden des Server.");
        Console.ReadLine();
        Console.WriteLine("Server schließt.");
    }
}


//Hier wird der Client beschrieben.
using System;
using System.Runtime.Remoting.Channels.Ipc;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting;

public class Client
{
    [SecurityPermission(SecurityAction.Demand)]
    public static void Main(string[] args)
    {
        IpcChannel channel = new IpcChannel();

        // Registrieren des Channel.
        ChannelServices.RegisterChannel(channel);

        // Registrieren als Client für das Remote Objekt.
        WellKnownClientTypeEntry remoteType = new WellKnownClientTypeEntry(
                                                typeof(RemoteObject),
                                                "ipc://localhost:9091/RemoteObject.rem");

        RemotingConfiguration.RegisterWellKnownClientType(remoteType);

        // Anlegen einer Instance für das Remote Objekt.
        RemoteObject service = new RemoteObject();

        Console.WriteLine("Das Objekt wurde {0} mal aufgerufen.", service.GetCount());
        Console.ReadLine();
    }
}


// Remote Objekt.
using System;

public class RemoteObject : MarshalByRefObject
{
    private int callCount = 0;

    public int GetCount()
    {
        Console.WriteLine("GetCount wurde aufgerufen.");
        callCount++;
        return(callCount);
    }
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!