// GET: Thumbnail/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Thumbnail thumbnail = repository.GetThumbnail((int)id);

            if (thumbnail == null)
            {
                return(HttpNotFound());
            }
            return(View(thumbnail));
        }
示例#2
0
        public void Load(object state)
        {
            while (true)
            {
                LoadThumbnailRequest request;
                lock (_syncLock)
                {
                    if (_pendingRequests.Count == 0)
                    {
                        _isLoading = false;
                        break;
                    }

                    request = _pendingRequests[0];
                    _pendingRequests.RemoveAt(0);
                }

                LoadThumbnailResult result;

                try
                {
                    var image = _repository.GetThumbnail(request.Descriptor, request.Size);
                    result = new LoadThumbnailResult(request.Descriptor, image, request.Size);
                }
                catch (Exception e)
                {
                    result = new LoadThumbnailResult(request.Descriptor, e);
                }

                request.ResultCallback(result);
            }
        }