解決
通常、使用するのは HTTPハンドラー このために。というご要望を受けて…
...ハンドラーは、フォーマットされた XML サイトマップで応答します。そのサイトマップがオンザフライで生成されるか、データベースから生成されるか、または他の方法で生成されるかは、HTTP ハンドラーの実装によって異なります。
おおよそ次のようになります。
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();
}
このコードは改善することができますが、それが基本的な考え方です。
他のヒント
サイトマップを生成するカスタム ハンドラー。
ASP.NET MVC を使用すると、.NET XML 生成ライブラリを使用して簡単なコードを作成し、それを XML コントロールを含むビュー ページに渡すだけです。コードビハインドでは、コントロールを ViewData に結び付けました。これは、ビュー ページのデフォルトの動作をオーバーライドして、別のヘッダーを表示しているようです。
所属していません StackOverflow