コード例 #1
0
        public ActionResult GetResourceImage(string id)
        {
            using (var emkService = ServiceFactory.GetServiceWrapper<IEmkService>())
            {
                IList<EmkResource> emkResources = emkService.Instance.GetAllResources();
                EmkResource resource = emkResources.FirstOrDefault(x => x.Id == id);
                if (resource == null)
                {
                    return null;
                }
                using (FileTransferServiceClient client = new FileTransferServiceClient())
                {
                    try
                    {
                        Stream content = client.GetFileFromPath(resource.IconFileName);

                        if (content != null)
                        {
                            return File(content, GetMimeType(resource.IconFileName));
                        }
                    }
                    catch (IOException ex)
                    {
                        // This exception is totally OK. No image will be displayed.
                    }
                    catch (AssertionFailedException)
                    {
                        // This exception is totally OK. No image will be displayed.
                    }
                }
            }
            return null;
        }
コード例 #2
0
        private void LoadIconAsync()
        {
            ThreadPool.QueueUserWorkItem(w =>
            {
                using (FileTransferServiceClient client = new FileTransferServiceClient())
                {
                    try
                    {
                        Stream content = client.GetFileFromPath(EmkResourceItem.IconFileName);

                        if (content != null)
                        {
                            ImageSource icon = BitmapFrame.Create(content);
                            Application.Current.Dispatcher.Invoke((Action)(() =>
                            {
                                Icon = icon;
                                OnPropertyChanged("Icon");
                            }));
                        }
                    }
                    catch (AssertionFailedException)
                    {
                        // Occurs if the path is empty.
                    }
                    catch (IOException)
                    {
                        // This exception is totally OK. No image will be displayed.
                    }
                    catch (Exception ex)
                    {
                        Logger.Instance.LogException(this, ex);
                    }
                }
            });
        }