180 likes | 316 Views
Distribueret programmering, specielt .NET Remoting. Rasmus D. Lehrmann DM67 2010. Indhold. Hvad er .NET remoting ? Klienten Serveren .NET Remoting visuelt Marshall by reference SingleCall Singleton Client-activated Object Marshall by value MBV data MBV Kommunikationen
E N D
Distribueret programmering, specielt .NET Remoting Rasmus D. Lehrmann DM67 2010
Indhold • Hvad er .NET remoting? • Klienten • Serveren • .NET Remoting visuelt • Marshall by reference • SingleCall • Singleton • Client-activatedObject • Marshall by value • MBV data • MBV Kommunikationen • Kommunikations kanaler • Config file • Opsummering
Klienten • Klienten ser serveren som en assembly. • Referencer • Kender metoder fra en interface klasse
Serveren • Indeholder Business og Data Access lag • Calculations og Data • Reagerer på metode kald • Kører som service
Marshall by reference • Marshall by reference (MBR) • Objektet eksisterer på serveren • Findes som well-known objekt der enten er: • SingleCall • Singleton • Client-ActivatedObject
SingleCall • Et nyt objekt oprettes hver gang der bliver lavet et remote kald. Slettes efter brug. • Kun 1 klient kan benytte objektet. • Bruger en del ressourcer på create og delete af objekter. • Ingen transactions problemer
Singleton • Objekter oprettes ved første remote kald. Objektet bliver ikke slettet igen. • Mangler klienter pr. objekt • Lavt forbrug af system ressourcer • Gentagende kald kan give en forkert returnvalue
Client-activatedObject • CAO objekter hører under MBR. • Klienten kan initialiserer objekter på serveren. • CAO objekterne bliver oftest returneret til MBR objekter • 1-1 forhold
Marshall by value • Marshall by value(MBV) • Server creater objektet, og sender det til clienten. • Objektet bliver ikke observed af serveren
Kommunikations kanaler Requests og objekter bliver kaldt igennem channels • En channel benytter sig af en socketstream. • TcpChannel • Overfører ved BinaryFormatter • Hurtig overførsel • HttpChannel • Overfører ved SOAP • Sikker overførsel
Config file • En let måde at ændre storedsettings på: • Database connection • Channels • Authorization
Indlæsning af config file Staticvoid Main(string[] args) { Console.Writeline(”Start service”); Stringfilename = @”..\..\server.exe.config”; RemotingConfiguration.Confugire(filename.false) Console.WriteLine(”Service startet”); Console.ReadLine(); }
Opsummering .NET Remoting • .NET remotingopbygget • Klient, server • Marshalling • SingleCall • Singleton • Client-Activated Object • Kommunikation • TcpChannel • OverførervedBinaryFormatter • Hurtigoverførsel • HttpChannel • Overførerved SOAP • Sikkeroverførsel • Bruges til at lave et program der kan afvikles på et system men kører på et andet system også kendt som en tynd klient