ASP.NET 将 Web.sitemap 公开为 sitemap.xml
ASP.NET 是否支持将 Web.sitemap 公开为 sitemap.xml 供 google 使用?
Does ASP.NET support exposing Web.sitemap as a sitemap.xml for google to use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不是开箱即用的,但它肯定是可能的。
基本上,要解决这个项目,您需要将其分为以下几个阶段。
要完成第 1 步,您需要根据您将托管的 IIS 版本研究如何执行此操作。IIS6 和 IIS7 经典模式将为 IIS7 集成模式产生不同的实现逻辑...需要经历更多步骤以前的 IIS 服务器配置。
一旦您有一个请求通过 ASP.NET 进程,您可以在其中连接 HTTP 处理程序,或者如果您使用 MVC(路由),那么您就可以继续提取 XML。
第一步将能够转置 web.sitemap 文件中的数据。为此,您需要访问 SiteMap 类。 (http://msdn.microsoft.com/en-us/library/system.web.sitemap_members(v=VS.85).aspx)。
最后,你只需要把它吐出来。也许只需使用 Linq to XML 即可...但这只是一项非常简单的任务。
Not out of the box, but it certainly is possible.
Basically, to tackle this project, you will need to break it down into the following phases.
To get step 1 done, you need to do research on how to do this based on the IIS version you will be hosting in. IIS6 and IIS7 Classic mode will yield different implementation logic for IIS7 Integrated mode... more hoops to go through for the former IIS server configurations.
Once you have a request going through ASP.NET process where you are able to wire up a HTTP handler, or if you are using MVC, a route, then you are able to proceed with pumping out the XML.
First step would be able to transpose the data in your web.sitemap file. To do this, you need to access the SiteMap class. (http://msdn.microsoft.com/en-us/library/system.web.sitemap_members(v=VS.85).aspx).
Then lastly, you just need to spit it out. Maybe just use Linq to XML for it... but that is just a pretty straight forward task.