/// <summary> /// Constructor to inject dependencies into the handler /// </summary> public XmlSitemapHandler(IDependencyFactory dependencyFactory) { _sitemapCache = dependencyFactory.CreateCache(); _generator = dependencyFactory.CreateGenerator(); _contentEngine = dependencyFactory.CreateEngine(); _logger = dependencyFactory.CreateLogger(); }
public RebuildXmlSitemapTask( IStoreService storeService, ILanguageService languageService, IXmlSitemapGenerator generator, SeoSettings seoSettings) { _storeService = storeService; _languageService = languageService; _generator = generator; _seoSettings = seoSettings; }
public RebuildXmlSitemapTask( IStoreContext storeContext, ILanguageService languageService, IXmlSitemapGenerator generator, ISettingFactory settingFactory) { _storeContext = storeContext; _languageService = languageService; _generator = generator; _settingFactory = settingFactory; }
public RebuildXmlSitemapTask( IStoreService storeService, ILanguageService languageService, IXmlSitemapGenerator generator, ISettingService settingService) { _storeService = storeService; _languageService = languageService; _generator = generator; _settingService = settingService; }
/// <summary> /// Constructor for the sitemap handler /// </summary> public XmlSitemapHandler() { UmbracoContext.EnsureContext( new HttpContextWrapper(HttpContext.Current), ApplicationContext.Current, true); var factory = new WebConfigDependencyFactory(); _sitemapCache = factory.CreateCache(); _generator = factory.CreateGenerator(); _contentEngine = factory.CreateEngine(); }
/// <summary> /// Constructor for the sitemap handler /// </summary> public XmlSitemapHandler() { /* * UmbracoContext.EnsureContext( * new HttpContextWrapper(HttpContext.Current), * ApplicationContext.Current, * true); */ // TODO context ^. use providers. cleanup configuration folder and maybe file/folder organizing in project. update/add tests. var factory = new WebConfigDependencyFactory(); _sitemapCache = factory.CreateCache(); _generator = factory.CreateGenerator(); _contentEngine = factory.CreateEngine(); _logger = factory.CreateLogger(); }
public async Task Invoke(HttpContext context, SeoSettings seoSettings, IXmlSitemapGenerator sitemapGenerator) { var response = context.Response; if (!seoSettings.XmlSitemapEnabled) { response.StatusCode = 404; return; } try { //var index = context.Request.Query["index"].ToString().Convert<int>(); var index = context.GetRouteValueAs <int>("index"); var partition = await sitemapGenerator.GetSitemapPartAsync(index); using (partition.Stream) { response.StatusCode = 200; response.ContentType = "application/xml"; response.ContentLength = partition.Stream.Length; await partition.Stream.CopyToAsync(response.Body); } } catch (IndexOutOfRangeException) { await SendStatus(HttpStatusCode.BadRequest, "Sitemap index is out of range."); } catch (Exception ex) { await SendStatus(HttpStatusCode.InternalServerError, ex.Message); //throw; } Task SendStatus(HttpStatusCode code, string message) { response.StatusCode = (int)code; return(response.WriteAsync(message)); } }
public RebuildXmlSitemapTask(IXmlSitemapGenerator generator, SeoSettings seoSettings) { _generator = generator; _seoSettings = seoSettings; }