Generovat mapa stránek v reálném čase

hlasů
4

Snažím se vytvářet sitemap.xml na čase pro konkrétní webové stránky ASP.NET.

Zjistil jsem pár řešení:

  1. chinookwebs
  2. cervoproject
  3. newtonking

Chinookwebs funguje skvěle, ale zdá trochu neaktivní právě teď a to je nemožné přizpůsobit „prioritu“ a „changefreq“ tagy každé stránce, všichni zdědí stejnou hodnotu z konfiguračního souboru.

Jaká řešení si kluci používat?

Položena 13/08/2008 v 01:01
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
7

Obvykle budete používat popisovač HTTP za to. Vzhledem k žádosti o ...

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

... Váš psovod odpoví formátované XML sitemap. Zda je tato mapa webu je generována za běhu, z databáze, nebo nějakým jiným způsobem, je na implementaci HTTP Handler.

Zde je zhruba to, co to bude vypadat:

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();
}

Tento kód je možné zlepšit, ale to je základní myšlenka.

Odpovězeno 13/08/2008 v 08:19
zdroj uživatelem

hlasů
0

Pomocí ASP.NET MVC jen rozdmýchala rychlý kousek kódu pomocí knihovny .NET generace XML a pak už jen prošel, že k zobrazení stránky, které měly kontrolu XML na něj. V kódem na pozadí jsem vázaný ovládací prvek s ViewData. Zdálo se, že přepsat výchozí chování zobrazení stránek, které představují odlišné záhlaví.

Odpovězeno 13/08/2008 v 02:12
zdroj uživatelem

hlasů
0

Custom handler pro generování sitemap.

Odpovězeno 13/08/2008 v 01:48
zdroj uživatelem

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