RaumfeldNET.ImageDataCache.requestImageFromUrlSink C# (CSharp) Метод

requestImageFromUrlSink() защищенный Метод

protected requestImageFromUrlSink ( HttpWebResponse _reponse, delegate_OnReqestImageDone _sink, String _imageId ) : void
_reponse System.Net.HttpWebResponse
_sink delegate_OnReqestImageDone
_imageId String
Результат void
        protected virtual void requestImageFromUrlSink(HttpWebResponse _reponse, delegate_OnReqestImageDone _sink, String _imageId)
        {
            try
            {
                String imageId = _imageId;
                Stream stream = _reponse.GetResponseStream();
                if (stream == null)
                    return;

                this.addImage(imageId, Image.FromStream(stream));
                if (_sink != null) ((delegate_OnReqestImageDone)_sink)(imageId);
            }
            catch(Exception e)
            {
                this.writeLog(LogType.Error, String.Format("Fehler bei 'requestImageFromUrlSink' für Url '{0}'", _reponse.ResponseUri.AbsoluteUri), e);
            }

            lock (imageUrlOnRequest)
            {
                if (imageUrlOnRequest.ContainsKey(_imageId))
                {
                    foreach(var delegateLink in imageUrlOnRequest[_imageId])
                    {
                        if (delegateLink != null) ((delegate_OnReqestImageDone)delegateLink)(_imageId);
                    }
                    imageUrlOnRequest.Remove(_imageId);
                }
            }
        }