Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1895 | Besucher online: 31
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

IPCRemoting Channel


Autor: Linoge
Sprache: C#
Bewertung:
6.85 (3 votes)
Anzahl der Aufrufe: 7149
  
Kick it on dotnet-kicks.de  

Beschreibung:

Erstellung eines IPCRemoting Channel

Abgelegt unter: IPC, IPCRemoting, IPCChannel, IPCServerChannel, IPCClientChannel, TCP, TCPRemoting, TCPChannel, TCPServerChannel, TCPClientChannel.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*
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);
    }
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.