Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press
Buy directly from Paradoxal Press at $33.99 (Save 43%)
Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA
|
Listing 22-14 extracted from chapter
.NET Remoting
Listing 22-13< > Listing 22-15
This listing can be compiled with the command line: csc.exe /out:Serveur.exe /target:exe Example_22_14_to_rename_Serveur.cs /r:Interface.dll Errors: 0 Warnings: 0
Example_22_14_to_rename_Serveur.cs
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;
using System.Runtime.Remoting.Lifetime;
using RemotingInterfaces;
namespace RemotingServer {
// Implementation of server objects.
public class Adder : MarshalByRefObject, IAdder {
public override object InitializeLifetimeService() {
ILease lease = (ILease) base.InitializeLifetimeService();
if (lease.CurrentState == LeaseState.Initial) {
lease.InitialLeaseTime = TimeSpan.FromSeconds(50);
lease.RenewOnCallTime = TimeSpan.FromSeconds(20);
lease.SponsorshipTimeout = TimeSpan.FromSeconds(20);
}
return lease;
}
public Adder() {
Console.WriteLine("Adder ctor");
}
public double Add( double d1, double d2 ) {
Console.WriteLine("Adder Add( {0} + {1} )", d1, d2);
return d1 + d2;
}
}
// Implementation of the host.
class Program {
static void Main() {
HttpChannel channel = new HttpChannel( 65100 );
ChannelServices.RegisterChannel( channel, false );
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(Adder),
"AddService",
WellKnownObjectMode.SingleCall);
Console.WriteLine( "Press a key to stop the server..." );
Console.Read();
}
}
}
Copyright Patrick Smacchia 2006 2007
|