The RSS toolkit includes support for consuming as well as publishing RSS feeds in ASP.NET applications. Features include:
- RSS Data Source control to consume feeds in ASP.NET applications
- Works with ASP.NET data bound controls
- Implements schema to generate columns at design time
- Supports auto-generation of columns at runtime (via ICustomTypeDescriptor implementation)
- Caching of downloaded feeds both in-memory and on-disk (persisted across process restarts)
- Generation of strongly typed classes for RSS feeds (including strongly typed channel, items, image, handler) based on a RSS URL (the toolkit recognizes RSS and RDF feeds) or a file containing RSS definition. Allows programmatically download (and create) RSS channels using strongly-typed classes. The toolkit includes:
- Stand-alone command line RSS compiler
- Build provider for .rssdl file (containing the list of feed URLs)
- Build provider for .rss file (containing RSS XML)
- Support for generation of RSS feeds in ASP.NET application including:
- RSS HTTP handler (strongly typed HTTP handlers are generated automatically by the build providers) to generate the feed.
- RSS Hyper Link control (that can point to RSS HTTP handler) to create RSS links
- Optional secure encoding of user name into query string to allow generation of personalized feeds
- Set of classes for programmatic consumption and generation of RSS feed in a late-bound way, without using strongly typed generated classes
The toolkit is packaged as an assembly (DLL) that can be either placed in GAC or in ‘bin’ directory of a web application. It is also usable from client (including WinForms) applications.
RSS Toolkit works in Medium Trust (RssToolkit.dll Assembly either in GAC or in ‘bin’) with the following caveats:
- If the ASP.NET application consumes RSS feeds, the trust level must be configured to allow outbound HTTP requests.
- To take advantage of disk caching, there must be a directory (configurable via AppSettings["rssTempDir"]) where the trust level policy would allow write access. However, disk caching is optional.