.net Remoting: IPC Channel für Klasse A und Http für Klasse B. HOWTO?

16/10/2009 - 11:00 von Michael Schmitz | Report spam
Hallo NG,

ich habe hier in einem Windows Dienst zwei Klassen:

-
Klasse A und Klasse B.

Hier die Signatur:

public class A: MarshalByRefObject, IA
public class B: MarshalByRefObject, IB



Jetzt möchte ich eigentlich irgendwie bestimmen das für
classe A nur der IPC Channel benutzt werden darf, und für Klasse B IPC und
HTTP.

Aber irgendwie habe ich beim Registrieren der Klassen keine Option dafür?


log4net.LogManager.GetLogger("testapp").Info("initialize http
chanel");

httpChanel = new HttpChannel(9080);

log4net.LogManager.GetLogger("testapp").Info("initialize ipc
chanel");
ipcChanel = new IpcChannel("ChannelA");

log4net.LogManager.GetLogger("testapp").Info("start registert
chanels");

ChannelServices.RegisterChannel(ipcChanel, false);
ChannelServices.RegisterChannel(httpChanel, false);

log4net.LogManager.GetLogger("testapp").Info("start registert
services");

RemotingConfiguration.RegisterWellKnownServiceType(typeof(A),
"UriA", WellKnownObjectMode.Singleton);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(B),
"UriB", WellKnownObjectMode.Singleton);

log4net.LogManager.GetLogger("testapp").Info("services
registered");



Gruß

Michael
 

Lesen sie die antworten

#1 Frank Dzaebel
18/10/2009 - 21:20 | Warnen spam
Hallo Michael,

ich habe hier in einem Windows Dienst zwei Klassen:
[...] Jetzt möchte ich eigentlich irgendwie bestimmen das für
classe A nur der IPC Channel benutzt werden darf, und für Klasse B IPC und
HTTP.



Ggf. kannst Du ja die IP des Clients so herausbekommen:

IPAddress clientAddress = requestHeaders[
CommonTransportKeys.IPAddress] as IPAddress;

[BaseChannelObjectWithProperties-Klasse (System.Runtime.Remoting.Channels)]
http://msdn.microsoft.com/de-de/lib...properties(classic).aspx

[.NET Remoting: Writing an Asymmetric Encryption Channel Sink]
http://msdn.microsoft.com/de-de/magazine/cc300447(en-us).aspx

____________
Bei WCF etwa:

[Re: IP Adresse des Senders]
http://www.tech-archive.net/Archive...00297.html

und dann ggf. dementsprechend weiter verfahren. Ansonsten evtl.:

[Why does defining an IPC Channel with "local/" in the portName give a
RemotingException 'The system cannot find the file specified'?]
http://social.msdn.microsoft.com/Fo...fb158398a8

[How to "bind" services to specific channels (tcp, http, ipc) in a .NET
Remoting server? - Stack Overflow]
http://stackoverflow.com/questions/...remoting-s


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen