Pergunta

Como faço para criar um feed RSS em ASP.Net?Existe algo embutido para apoiá-lo?Caso contrário, quais ferramentas de terceiros estão disponíveis?

Estou pensando em webforms, não em MVC, mas suponho que, como esta não é uma página tradicional, a diferença pode ser mínima.

Foi útil?

Solução

Para integrado, nada impede você de usar XmlDocument ou XDocument (3.5) para construir o XML necessário para RSS.É mais trabalho do que vale a pena.

Eu uso o Estrutura de distribuição argótica e veicular os feeds por meio de manipuladores genéricos (.ashx) com o tipo de conteúdo definido como text/xml.

O Kit de ferramentas RSS também é legal.Ele vem com um controle RSSDataSource se você gosta desse tipo de coisa.Ele também inclui um controle que inserirá automaticamente a meta tag necessária para a descoberta automática de feeds nos navegadores.No entanto, achei o provedor de compilação para a criação de feeds um pouco complicado.

Outras dicas

O .NET Framework 3.5 adicionou uma classe SyndicationFeed que permite criar e/ou consumir feeds nos formatos Atom 1.0 e RSS 2.0.

Classe SyndicationFeeds no MSDN

Aqui está uma estrutura RSS criada por um desenvolvedor da Microsoft: Kit de ferramentas RSS do ASP.NET

Use uma das bibliotecas disponíveis para gerar o RSS real.Por exemplo: http://www.rssdotnet.com/

Se você verificar a página de exemplos de código na parte inferior:http://www.rssdotnet.com/documents/code_examples.htmlvocê encontrará o código para limpar o tipo de conteúdo em uma página ASP.net e gerar o RSS.

Algo como (não testado, não compilado, apenas digitado):

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

}

Espero que ajude.

Você poderia dar uma olhada em Argotic.É uma estrutura muito legal.

http://www.codeplex.com/Argotic

Crie um manipulador HTTP para criar um feed RSS

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top