private void CheckStatusForRegistered(Object sender, ElapsedEventArgs e)
 {
     lock (_lock)
     {
         foreach (AsyncRequestState clientState in _clientStateList)
         {
             if (clientState.CurrentContext.Session != null)
             {
                 ImageServiceClientManager manager = (ImageServiceClientManager)clientState.CurrentContext.Session["Manager"];
                 bool?status = manager.Status();
                 if (status.HasValue && status.Value == false)
                 {
                     clientState.CurrentContext.Response.Write(serializer.Serialize(new { isError = false, needToUpdate = true }));
                     clientState.CompleteRequest();
                 }
                 else if (!status.HasValue)
                 {
                     string errorMessage_ = manager.Notifier.GetLastError();
                     clientState.CurrentContext.Response.Write(serializer.Serialize(new { isError = true, errorMessage = errorMessage_ }));
                     clientState.CompleteRequest();
                     _clientStateList.Clear();
                     break;
                 }
             }
         }
     }
 }
Esempio n. 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ImageServiceClientManager   manager        = (ImageServiceClientManager)Session["Manager"];
        IEnumerable <ImageFileData> imagesFileData = (IEnumerable <ImageFileData>)Session["ImagesFileData"];

        if (manager == null || imagesFileData == null)
        {
            return;
        }
        string fileName = Request.QueryString["fileName"];

        byte[] imageData = null;

        ImageFileData imageFileData = imagesFileData.SingleOrDefault(p => p.FileName == fileName);

        if (imageFileData != null && imageFileData.ImageData != null)
        {
            imageData = imageFileData.ImageData;
        }
        else
        {
            imageData = manager.DownloadImage(fileName);
        }
        if (imageData != null)
        {
            Response.BinaryWrite(imageData);
        }
    }
        public ImageServiceClientForm()
        {
            InitializeComponent();
            IImageService channel = null;

            try
            {
                channelFactory = new ChannelFactory <IImageService>("streamingBinding");
                channel        = channelFactory.CreateChannel();
            }
            catch (Exception)
            {
                MessageBox.Show("Can't create client channel!");
                return;
            }
            IClientNotifier notyfier = new WindowsFormsNotifier();

            manager = new ImageServiceClientManager(channel, notyfier, UpdateImagesInfoGrid);
        }
Esempio n. 4
0
        public MainWindow()
        {
            InitializeComponent();
            model = (DataGridModel)imageFilesGrid.DataContext;
            IImageService channel = null;

            try
            {
                channelFactory = new ChannelFactory <IImageService>("streamingBinding");
                channel        = channelFactory.CreateChannel();
            }
            catch (Exception)
            {
                MessageBox.Show("Can't create client channel!");
                return;
            }
            IClientNotifier notyfier = new WPFNotifier();

            manager = new ImageServiceClientManager(channel, notyfier, UpdateImagesInfoGrid);
        }
    protected void ResetConnection_Click(object sender, EventArgs e)
    {
        ChannelFactory <IImageService> ChannelFactory;
        IClientNotifier Notyfier = new WebNotifier();
        IImageService   channel  = null;

        try
        {
            ChannelFactory = new ChannelFactory <IImageService>("streamingBinding");
            channel        = ChannelFactory.CreateChannel();
        }
        catch (Exception)
        {
            Notyfier.Error("Can't create client channel!");
            return;
        }
        ImageServiceClientManager   Manager        = new ImageServiceClientManager(channel, Notyfier, null);
        IEnumerable <ImageFileData> ImagesFileData = Manager.GetAllImagesInfo(false);

        Session["Manager"]        = Manager;
        Session["ImagesFileData"] = ImagesFileData;
    }