using System; using System.Collections.Generic; using System.Linq; using System.Text; using GrandRating.Services.Net; using GrandRating.Services; namespace EbayTrading.CrawlerService { public class ItemContentGrabber : GrabberBase, IItemContentGrabber { public ItemContentGrabber(ComponentSetup setup) : base(setup) { RegisterComponent(parser = new ItemContentParser(this.CreateChildSetup("ItemContentParser", this))); } readonly ItemContentParser parser; public ItemContent Execute(long itemId, EbayDomain domain) { ThrowIfAbortedOrTerminating(); OpenWebSession(); WebSession.Get(string.Format("http://cgi.ebay.{0}/ws/eBayISAPI.dll?ViewItem&item={1}", domain.ToString().ToLower(), itemId)); WebSession.CheckResponseStatus(200); ApplyResponseEncoding(); return parser.Parse(WebSession.LastResponseBody, domain); } } public interface IItemContentGrabber : IGrabber { ItemContent Execute(long itemId, EbayDomain domain); } }