Feedback

C# - IPCRemoting Channel

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

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

/*
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!