Wygenerować mapę witryny w locie

głosy
4

Próbuję wygenerować sitemap.xml w locie dla danej witryny internetowej ASP.NET.

Znalazłem kilka rozwiązań:

  1. chinookwebs
  2. cervoproject
  3. newtonking

Chinookwebs działa świetnie, ale wydaje się nieco nieaktywnego już teraz, a nie da się dostosować „priorytet” i „changefreq” tagi każdego i każdą stronę, wszystkie one odziedziczą tę samą wartość z pliku konfiguracyjnego.

Jakie rozwiązania czy faceci użyciu?

Utwórz 13/08/2008 o 01:01
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
7

Zwykle będziesz korzystać z obsługi HTTP dla tego produktu. Biorąc pod uwagę wniosek o ...

http://www.yoursite.com/sitemap.axd

... Twój obsługi odpowie sformatowanej XML Sitemap. Niezależnie od tego, że mapa witryny jest generowany na bieżąco, z bazy danych lub innej metody jest do realizacji HTTP Handler.

Oto z grubsza co to będzie wyglądać:

void IHttpHandler.ProcessRequest(HttpContext context)
{
    //
    // Important to return qualified XML (text/xml) for sitemaps
    //
    context.Response.ClearHeaders();
    context.Response.ClearContent();
    context.Response.ContentType = "text/xml";
    //
    // Create an XML writer
    //
    XmlTextWriter writer = new XmlTextWriter(context.Response.Output);
    writer.WriteStartDocument();
    writer.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");
    //
    // Now add entries for individual pages..
    //
    writer.WriteStartElement("url");
    writer.WriteElementString("loc", "http://www.codingthewheel.com");
    // use W3 date format..
    writer.WriteElementString("lastmod", postDate.ToString("yyyy-MM-dd"));
    writer.WriteElementString("changefreq", "daily");
    writer.WriteElementString("priority", "1.0");
    writer.WriteEndElement();
    //
    // Close everything out and go home.
    //
    result.WriteEndElement();
    result.WriteEndDocument();
    writer.Flush();
}

Kod ten można poprawić, ale to podstawowa idea.

Odpowiedział 13/08/2008 o 08:19
źródło użytkownik

głosy
0

Korzystanie z ASP.NET MVC tylko bita krótki fragment kodu z wykorzystaniem biblioteki .NET generacji XML a potem przeszedł na stronę, że widok, który miał kontrolę XML na nim. W opóźnieniem kodu jestem związany kontrolę z ViewData. To wydawało się przesłonić domyślne zachowanie widzenia stronach przedstawić inny nagłówek.

Odpowiedział 13/08/2008 o 02:12
źródło użytkownik

głosy
0

obsługi niestandardowych do generowania mapy witryny.

Odpowiedział 13/08/2008 o 01:48
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more