|
/* Tetyana Loskutova http://tetyana.wordpress.com */
using System;
using System.Collections;
using System.IO;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;
using System.Runtime.Remoting.Channels.Tcp;
using RemotingXml.PersistentClasses;
/*
* Client test class. Creates a test objects array and passes it over the network
* to be stored as an XML file.
*/
namespace RemotingXml.RemotingExample
{
class Program
{
// Remote proxy
XmlHandler xmlHandler;
public Program()
{
string url;
// Setup a client channel to our services.
HttpChannel channel = new HttpChannel(0);
url = @"http://LocalHost:65101/";
// Register the channel
ChannelServices.RegisterChannel(channel, false);
// Set an access to the remote proxy
xmlHandler = (XmlHandler)RemotingServices.Connect(
typeof(PersistentClasses.XmlHandler), url + "XmlHandlerEndPoint"
);
}
// end Program
static void Main(string[] args)
{
new Program().RunTest();
}
// end Main
private void RunTest()
{
// an object to be stored remotely
House house = new House(new Address("East London", "266 Oxford Street"), "Derick Hopkins");
// Create a list to hold House instances
HouseList persistentObjects = new HouseList();
persistentObjects.Add(house);
// another House for a list
house = new House(new Address("East London", "23 Stewart Drive"), "Om Henderson");
persistentObjects.Add(house);
// Pass House list to the server using XmlHandler
xmlHandler.PersistentObjects = (IList)persistentObjects;
// Call method on the server to store houses to an XML file
xmlHandler.StoreData();
// Test what is stored to the database
IList result = xmlHandler.RetrieveData(typeof(HouseList), typeof(House));
foreach (object obj in result)
{
System.Console.WriteLine(obj);
}
}
// end RunTest
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.