質問

ASP.Net で RSS フィードを作成するにはどうすればよいですか?それをサポートするために何か組み込まれていますか?そうでない場合、どのようなサードパーティ ツールが利用可能ですか?

私は MVC ではなく Web フォームを考えていますが、これは従来のページではないため、違いは最小限であると思います。

役に立ちましたか?

解決

組み込みの場合、XmlDocument または XDocument (3.5) を使用して RSS に必要な XML を構築することを妨げるものはありません。しかし、それは価値があるというよりも仕事です。

私が使用するのは、 隠語的シンジケーション フレームワーク コンテンツ タイプを text/xml に設定して、ジェネリック ハンドラー (.ashx) を通じてフィードを提供します。

RSSツールキット も素敵です。そのようなことに興味がある場合は、RSSDataSource コントロールが付属しています。また、ブラウザーでのフィード自動検出に必要なメタ タグを自動的に挿入するコントロールも含まれています。ただし、フィードを作成するためのビルド プロバイダーが少し面倒であることがわかりました。

他のヒント

.NET Framework 3.5 では、Atom 1.0 および RSS 2.0 形式でフィードを作成および消費できるようにする SyndicationFeed クラスが追加されました。

MSDN の SyndicationFeeds クラス

Microsoft 開発者によって作成された RSS フレームワークは次のとおりです。 ASP.NET RSS ツールキット

実際の RSS の生成に利用可能なライブラリの 1 つを使用します。例えば: http://www.rssdotnet.com/

ページの下部にあるコード例を確認すると、次のようになります。http://www.rssdotnet.com/documents/code_examples.htmlASP.net ページのコンテンツ タイプをクリアして RSS を出力するコードが見つかります。

次のようなものです(テストもコンパイルもせず、入力しただけです)。

public void PageLoad()
{

// create channel
RssChannel _soChannel = new RssChannel();

// create item
RssItem _soItem = new RssItem();
_soItem.Title = "Answer";
_soItem.Description = "Example";
_soItem.PubDate = DateTime.Now.ToUniversalTime();

// add to channel
_soChannel.Items.Add(_soItem.);

// set channel props
_soChannel.Title = "Stack Overflow";
_soChannel.Description = "Great site.. jada jada jada";
_soChannel.LastBuildDate = DateTime.Now.ToUniversalTime();

// change type and send to output
RssFeed _f = new RssFeed();
_f.Channels.Add(channel);
Response.ContentType = "text/xml";
_f.Write(Response.OutputStream);
Response.End();

}

それが役立つことを願っています。

Argotic を見てみるのもいいかもしれません。本当に素晴らしいフレームワークです。

http://www.codeplex.com/Argotic

RSS フィードを作成するための HTTP ハンドラーを作成する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top