by Mads Kristensen
7. March 2007 03:26
The blogroll has become a standard element on most blogs today. If it is an ASP.NET
blog, the blogroll probably contains links to other ASP.NET blogs and that gives the
visitor an opportunity to surf to other related websites. The only problem with it
is that you have no idea what to expect from the blogs by looking at the blogroll.
Most often, the link title on the blogroll contains the name of the author and if
you don’t know him/her on beforehand, you have no idea if it’s a related blog or not.
That got me thinking about a way to tell a little more than just the name of the authors.
Why not display the titles of their 3 latest posts so the visitor quickly can see
what the blogs are about?
By showing the newest posts beneath each blog we also stop the visitor from leaving
your site for an unrelated one.
The code
In order to display the latest posts we need to parse all the blog’s RSS feed, which
means that we have to retrieve them first. That is time consuming, so it has to be
done asynchronously so it doesn’t slow the entire page down. It doesn’t have to be
updated with each request but only every hour or whenever you see fit. By each update
it still mustn’t slow the page and I found a way to do that.
The first time the blogroll is created it displays the blogroll without the latest
posts. After it has retrieved the feeds it adds them beneath each blog. It takes less
than a second per blog and is cached until the blogroll will be updated. The default
is one hour.
Implementation
The blogroll is a user control and you add blogs to it like this:
private void CreateList()
{
AddBlog(".NET
slave", "http://feeds.feedburner.com/netslave");
AddBlog("Vault
Of Thoughts", "http://vaultofthoughts.net/SyndicationService.asmx/GetRss");
}
You can set the different variables on the control itself like this:
<uc1:blogroll
ID="Blogroll1" MaxLength="30" MinutesCached="60" VisiblePosts="3" runat="server" />
There are 3 properties to set:
-
MaxLength: The maximum number of characters to display for each post
-
MinutesCached: The number of minutes before it updates the posts
-
VisiblePosts: The number of posts to show beneath each blog
Download
blogroll.zip
(2,66 KB)
* Only $4.95/month ASP.NET & Windows 2008 + IIS 7 Hosting! FREE SQL Included
e4fcd85c-8913-475f-a808-97c25ade7bc4|0|.0
Tags:
ASP.NET