Пример #1
0
        static void Main(string[] args)
        {
            Console.Title = "CLIENT";

            //Для того, чтобы связаться с GumballMachine создаем абстрактный канал сообщений

            // Указание, где ожидать входящие сообщения.
            Uri address = new Uri("http://localhost:4000/IGumballMachineRemote");  // ADDRESS.   (A)

            // Указание, как обмениваться сообщениями.
            BasicHttpBinding binding = new BasicHttpBinding();         // BINDING.   (B)

            // Создание Конечной Точки.
            EndpointAddress endpoint = new EndpointAddress(address);

            // Создание фабрики каналов. (фабрики, которая будет строить канал)
            ChannelFactory <IGumballMachineRemote> factory = new ChannelFactory <IGumballMachineRemote>(binding, endpoint);  // CONTRACT.  (C)

            // Использование factory для создания канала (прокси).
            // Создается иллюзия, что мы работаем непосредственно с GumballMachine. Как будто в проекте Step2.Client есть класс GumballMachine
            IGumballMachineRemote channel = factory.CreateChannel(); // Proxy

            GumballMonitor gumballMonitor = new GumballMonitor(channel);

            gumballMonitor.Report();

            Console.ReadKey();
        }
Пример #2
0
 public GumballMonitor(IGumballMachineRemote gumballMachine)
 {
     this.gumballMachine = gumballMachine;
 }
 public GumballMonitor(IGumballMachineRemote gumballMachine)
 {
     this.gumballMachine = gumballMachine;
 }
Пример #4
0
 static void Main(string[] args)
 {
     IGumballMachineRemote gumballMachineRemote = null;
     int count = 0;
 }
Пример #5
0
 public GumballMonitor(IGumballMachineRemote machine)
 {
     this.machine = machine;
 }