using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Ipc;
using System.Collections.Generic;
using System.Text;

using SharedLibrary;

namespace RemotingClient
{
   class Program
   {
      static void Main(string[] args)
      {
         IpcChannel Ipc = new IpcChannel("sampleapp_client");
         ChannelServices.RegisterChannel(Ipc, false);

         ISharedObject sharedObj =
            (ISharedObject)Activator.GetObject(typeof(ISharedObject),
            "ipc://sampleapp/HostedObject.rem");

         if (sharedObj == null)
         {
            Console.WriteLine("Nawiązanie połączenia IPC zakończyło się niepowodzeniem!");
            return;
         }

         sharedObj.PrintMessage("Pozdrowienia z domeny aplikacji " +
            AppDomain.CurrentDomain.FriendlyName);

         Console.ReadLine();
      }
   }
}
