Ejemplo n.º 1
0
 public void SendMessageToWcfService()
 {
     using (DiskInfoClient ClientProxy = new DiskInfoClient(MyResourses.Texts.EndPoint_1))
     {
         lock (SafeProgramClosingGate)
         {
             try
             {
                 ClientProxy.SaveDataInLog(ClientNameTextBox.Text);
                 MessageBox.Show(MyResourses.Texts.MessageWasSent, MyResourses.Texts.Message, MessageBoxButton.OK, MessageBoxImage.Warning);
             }
             catch (FaultException CurrentException)
             {
                 MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                 ClientProxy.Abort();
             }
             catch (CommunicationException CurrentException)
             {
                 MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                 ClientProxy.Abort();
             }
             catch (TimeoutException CurrentException)
             {
                 MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                 ClientProxy.Abort();
             }
         }
     }     
 }
Ejemplo n.º 2
0
 public async void GetDiskInfoFromServiceAsync()
 {
     //Без прокси
     /*ChannelFactory<IDiskInfo> TestChannelFactory = new ChannelFactory<IDiskInfo>(new NetHttpBinding(), new EndpointAddress("http://localhost:8080/DiskInfoService/EndPoint_1"));
     IDiskInfo ChannelToService = TestChannelFactory.CreateChannel();*/
     //С прокси
         DiskInfoClient ClientProxy = new DiskInfoClient(MyResourses.Texts.EndPoint_1);
         try
         {                
             ConsoleTextBox.Text = await ClientProxy.GetDriversDataAsync();
             ClientProxy.Close();
         }
         catch (FaultException CurrentException)
         {
             MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
             ClientProxy.Abort();
         }
         catch (CommunicationException CurrentException)
         {
             MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
             ClientProxy.Abort();
         }
         catch (TimeoutException CurrentException)
         {
             MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
             ClientProxy.Abort();
         }
         finally
         {
             lock (StatusChangeGate)
             {
                 if (!ShutDown)
                     Application.Current.Dispatcher.Invoke(new Action(() => StatusLabel.Content = MyResourses.Texts.StatusFree));
                 ClientBusy = false;
             }
         }
 }
Ejemplo n.º 3
0
        public void GetDriversNames()
        {
            lock (SafeProgramClosingGate)
            {
                //Ниже использован рекомендуемый способ закрытия прокси клиента
                DiskInfoClient ClientProxy = new DiskInfoClient(MyResourses.Texts.EndPoint_1);
                try
                {

                    List<string> CurrentDrivers = ClientProxy.GetDriversNames();
                    StringBuilder ListOfDrivers = new StringBuilder();
                    foreach (string DriveName in CurrentDrivers)
                    {
                        ListOfDrivers.Append(DriveName + " ");
                    }
                    Application.Current.Dispatcher.Invoke(new Action(() => DriversNamesLabel.Content = ListOfDrivers));
                    ClientProxy.Close();
                }
                catch (FaultException CurrentException)
                {
                    MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                    ClientProxy.Abort();
                }
                catch (CommunicationException CurrentException)
                {
                    MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                    ClientProxy.Abort();
                }
                catch (TimeoutException CurrentException)
                {
                    MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                    ClientProxy.Abort();
                }
                finally
                {
                    lock (StatusChangeGate)
                    {
                        if (!ShutDown)
                            Application.Current.Dispatcher.Invoke(new Action(() => StatusLabel.Content = MyResourses.Texts.StatusFree));
                        ClientBusy = false;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public void GetDriveInfoFromService(string DriveName)
        {
            lock (SafeProgramClosingGate)
            {
                //Ниже использован рекомендуемый способ закрытия прокси клиента
                DiskInfoClient ClientProxy = new DiskInfoClient(MyResourses.Texts.EndPoint_1);
                try
                {

                    MainDriveInfo CurrentDriveInfo = ClientProxy.GetOneDriveData(DriveName);
                    if (CurrentDriveInfo != null)
                    {
                        Application.Current.Dispatcher.Invoke(new Action(() => DriveInfoLabel.Content = CurrentDriveInfo.Name + " " + MyResourses.Texts.Free + " " +
                            CurrentDriveInfo.AvailableSpace + " " + MyResourses.Texts.GigaByte + " " + MyResourses.Texts.From + " " + CurrentDriveInfo.TotalSpace + " " + MyResourses.Texts.GigaByte));
                    }
                    else
                    {
                        Application.Current.Dispatcher.Invoke(new Action(() => DriveInfoLabel.Content = MyResourses.Texts.CantFindDriveByName));
                    }
                    ClientProxy.Close();
                }
                catch (FaultException CurrentException)
                {
                    MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                    ClientProxy.Abort();
                }
                catch (CommunicationException CurrentException)
                {
                    MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                    ClientProxy.Abort();
                }
                catch (TimeoutException CurrentException)
                {
                    MessageBox.Show(CurrentException.Message, MyResourses.Texts.Error, MessageBoxButton.OK, MessageBoxImage.Error);
                    ClientProxy.Abort();
                }
                finally
                {
                    lock (StatusChangeGate)
                    {
                        if (!ShutDown)
                            Application.Current.Dispatcher.Invoke(new Action(() => StatusLabel.Content = MyResourses.Texts.StatusFree));
                        ClientBusy = false;
                    }
                }
            }
        }