加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – 即时生成站点地图

发布时间:2020-12-16 06:50:59 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试为特定的asp.net网站动态生成sitemap.xml. 我找到了几个解决方案: chinookwebs cervoproject newtonking Chinookwebs工作得很好,但现在似乎有点不活跃,并且不可能个性化每个页面的“priority”和“changefreq”标签,它们都从配置文件继承了相同的
我正在尝试为特定的asp.net网站动态生成sitemap.xml.

我找到了几个解决方案:

> chinookwebs
> cervoproject
> newtonking

Chinookwebs工作得很好,但现在似乎有点不活跃,并且不可能个性化每个页面的“priority”和“changefreq”标签,它们都从配置文件继承了相同的值.

你们用什么解决方案?

解决方法

通常你会使用 HTTP Handler.鉴于要求……

07001

…您的处理程序将使用格式化的XML站点地图进行响应.无论是动态生成站点地图,还是从数据库生成站点地图,还是其他方法都取决于HTTP Handler实现.

这大致是它的样子:

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

这段代码可以改进,但这是基本的想法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读