public void requestImageFromUrl(String _imageUrl, delegate_OnReqestImageDone _sink)
{
try
{
// if image is already in cache, we immediately notify the sinks
// otherwise start web request for url
if (this.existsImage(_imageUrl))
{
if (_sink != null) ((delegate_OnReqestImageDone)_sink)(_imageUrl);
}
else
{
lock (imageUrlOnRequest)
{
if (!imageUrlOnRequest.ContainsKey(_imageUrl))
{
imageUrlOnRequest.Add(_imageUrl, new List<delegate_OnReqestImageDone>());
webRequestHelper.httpPostRequestAsync(_imageUrl, null, null, (response) => requestImageFromUrlSink(response, _sink, _imageUrl));
}
else
{
imageUrlOnRequest[_imageUrl].Add(_sink);
}
}
}
}
catch (Exception e)
{
this.writeLog(LogType.Error, String.Format("Fehler bei 'requestImageFromUrl' für Url '{0}'", _imageUrl), e);
}
}