Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Mark is looking for some sample code for the recently released WCF RSS Toolkit. I've put the readme up here. I won't repeat the whole readme here but here's a peek at the programming model. There are several shortcuts for feeds from databases and feeds using existing data types so you should really check out the readme.
An example service:
using System;
using System.ServiceModel;
using System.Collections.Generic;
using Microsoft.ServiceModel.Samples.Syndication;
namespace Microsoft.ServiceModel.Samples.Syndication
{
[ServiceContract]
public class ItemListService
{
[OperationContract]
ContentFeed<FeedItem> GetItemList()
{
//instantiate the feed
ContentFeed<FeedItem> feed = new ContentFeed<FeedItem>();
//populate the list of feed items
feed.FeedItems = GenerateItemList();
//set some feed-level properties
feed.FeedAuthor = wcfuser@contoso.com;
feed.FeedTitle = "WCF Item List!";
...
//return the feed
return feed;
}
ItemList<FeedItem> GenerateItemList()
{
ItemList<FeedItem> list = new ItemList<FeedItem>();
FeedItem item1 = new FeedItem();
item1.ItemTitle = "This is item 1";
...
list.Add(item1);
...
return list;
}
}
}
To expose RSS, Atom and SOAP endpoints in code (see readme and samples in toolkit for config-based and hosting in IIS examples):
using System.ServiceModel;
using Microsoft.ServiceModel.Samples.Syndication;
namespace Microsoft.ServiceModel.Samples.Syndication
{
class Program
{
static void Main(string[] args)
{
ContentFeedHost host = new ContentFeedHost(
typeof(ItemListService),
new Uri("https://localhost:8077/ItemListService"));
//endpoints defined in code
// RSS endpoint will be listening at
//https://localhost:8077/ItemListService/rss
host.AddRssEndpoint(typeof(ItemListService), "rss");
// Atom endpoint will be listening at
//https://localhost:8077/ItemListService/atom
host.AddAtomEndpoint(typeof(ItemListService), "atom");
// WS-* SOAP endpoint will be listening at
//https://localhost:8077/ItemListService/soap
host.AddServiceEndpoint(typeof(ItemListService),
new WsHttpBinding(), "soap");
host.Open();
Console.WriteLine("Service started ...");
Console.WriteLine("Press [Enter] to exit");
Console.ReadLine();
host.Close();
}
}
}
Enjoy!
Comments
Anonymous
June 15, 2006
WCF RSS Toolkit (Microsoft) http://wcf.n...Anonymous
June 21, 2006
Last week we put up a sample named WCF RSS Toolkit on wcf.netfx3.com and I posted a sample service using...Anonymous
June 14, 2007
Firstly a thanks to all those who attended my session on Wednesday and to the good conversations thatAnonymous
June 14, 2007
PingBack from http://msdnrss.thecoderblogs.com/2007/06/15/links-from-my-software-architect-2007-dinnernow-session/