Pregunta

¿Cómo creo un feed rss en ASP.Net?¿Hay algo integrado para soportarlo?Si no es así, ¿qué herramientas de terceros están disponibles?

Estoy pensando en formularios web, no en MVC, aunque supongo que como esta no es una página tradicional, la diferencia puede ser mínima.

¿Fue útil?

Solución

Para la versión integrada, no hay nada que le impida utilizar XmlDocument o XDocument (3.5) para crear el XML requerido para RSS.Aunque es más trabajo de lo que vale.

Yo uso el Marco de distribución argótico y servir los feeds a través de controladores genéricos (.ashx) con el tipo de contenido establecido en texto/xml.

El RSSKit de herramientas también es bonito.Viene con un control RSSDataSource si te gustan ese tipo de cosas.También incluye un control que insertará automáticamente la metaetiqueta necesaria para el descubrimiento automático de feeds en los navegadores.Sin embargo, encontré que el proveedor de compilación para crear feeds es un poco torpe.

Otros consejos

.NET Framework 3.5 ha agregado una clase SyndicationFeed que le permite crear y/o consumir feeds en formatos Atom 1.0 y RSS 2.0.

Clase SyndicationFeeds en MSDN

Aquí hay un marco RSS creado por un desarrollador de Microsoft: Kit de herramientas RSS de ASP.NET

Utilice una de las bibliotecas disponibles para generar el RSS real.Por ejemplo: http://www.rssdotnet.com/

Si consulta la página de ejemplos de código en la parte inferior:http://www.rssdotnet.com/documents/code_examples.htmlencontrará el código para borrar el tipo de contenido en una página ASP.net y generar el RSS.

Algo como (no probado, no compilado, simplemente escrito):

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 ayude.

Podrías echarle un vistazo a Argotic.Es un marco realmente genial.

http://www.codeplex.com/Argotic

Cree un controlador HTTP para crear una fuente RSS

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top