public void FeedAsync(string feeduri, int itemCount)
{
AsyncManager.OutstandingOperations.Increment();
if(HttpRuntime.Cache.IsEmpty(feeduri))
{
_feedfactory.BeginCreateFeed(new Uri(feeduri),
async =>
AsyncManager.Sync(() =>
{
var feed = _feedfactory.EndCreateFeed(async);
AsyncManager.Parameters["feed"] = feed;
AsyncManager.Parameters["itemCount"] = itemCount;
HttpRuntime.Cache.Insert(feeduri, feed, null, System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0, 20, 0));
AsyncManager.OutstandingOperations.Decrement();
}));
}
else
{
AsyncManager.Sync(() =>
{
AsyncManager.Parameters["feed"] = HttpRuntime.Cache[feeduri];
AsyncManager.Parameters["itemCount"] = itemCount;
AsyncManager.OutstandingOperations.Decrement();
});
}
}