.NET Remoting

Beispiel 1:
1.	Erklären Sie die Begriffe Application Domain, Marshalling und Objektreferenz?
2.	Können Sie mit .NET Remoting Web Services entwickeln?
3.	Was versteht man in Zusammenhang mit .NET Remoting unter Client, Server und Service?
4.	Bei Well-Known Objekten wird zwischen Singleton und Single-call unterschieden. Wann wird der Konstruktor  eines Singleton bzw. Single-call Objekts aufgerufen?
5.	Was müssen Sie tun um in einer .NET Remoting Applikation einen BinaryFormatter mit einem HTTPChannel zu verwenden?
Beispiel 2:
Entwickeln Sie in C# eine Klasse TimeService, die folgendes Interface implementiert:

using System;

public interface ITimeService
{
// Property wird im Konstruktor der Klasse
// initialisiert
	DateTime StartTime { get; set; }

	// gibt die aktuelle Uhrzeit am Server als String zurück
	string GetServerTime ();

// gibt die Zeit seit Instanzierung des Remote Objekts
// zurück
	string ObjLiveTime ();
}

Verwenden Sie für die Implementierung der Klasse die Typen DateTime und TimeSpan. Die Zeit soll als string im Format HH:mm:ss zurückgegeben werden. Kompilieren Sie die Klasse nach TSlib.dll.

Entwickeln Sie eine Applikation TSapp.exe, die TSlib.dll in einer eigenen AppDomain ausführt und das Ergebnis der Methoden GetServerTime() und ObjLiveTime() auf der Konsole ausgibt.
Beispiel 3:
Entwickeln Sie für die Klasse TimeService aus Beispiel 2 eine Server Applikation, die über ein .exe.config File konfiguriert wird und über TCP Port 65100 kommuniziert. Die Klasse soll beim Start des Servers einmalig instanziiert werden.

Entwickeln Sie eine  Client Konsolenapplikation, mit der die Server Applikation getestet werden kann.
Beispiel 4:
Schreiben Sie ein zweites .exe.config File für die Server Applikation aus Beispiel 3, die den Service über SOAP und HTTP Port 65100 anspricht.

Entwickeln Sie für diesen Service einen Win Form Client, der über ein .exe.config File konfiguriert wird.