Click here to Skip to main content
15,867,704 members
Articles / Programming Languages / C#
Article

See latest additions to CodeProject from VS.NET Start Page

Rate me:
Please Sign up or sign in to vote.
3.89/5 (9 votes)
18 Jan 20041 min read 61.6K   754   19   17
An article on customizing the VS.NET IDE with the latest Additions from Code Project

Click image to enlarge

Introduction

This article allows you to see the latest addition to the Code Project directly in your "Online Resources" on the Start Page of VS.NET

Background

See MSDN article Customizing the Visual Studio Start Page

Using the code

First step : Create a Virtual Directory in IIS (named CodeProjectDownload) . Then paste the content of the CodeProjectDownload.zip into this folder.

Test : Point your browser to the http://localhost/CodeProjectDownload/WebForm1.aspx : what you will see is a XML document

If not, please check your Internet connection and/or Code Security for Asp.Net

Second step : Locate your Visual Studio .NET installation folder and locate the \Common7\IDE\HTML\1033 folder ( usually : E:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\HTML\1033 - for other languages than English, please replace 1033 with your language code)

If not created, please create a folder named Custom - and put the contents of CodeProject.zip in this folder.

Now, run Microsoft Visual Studio .NET 2003 - go to Start Page , click on Online Resources. You will see a "Last Code Project added resources" item. Click on this item. And you will see the latest code addition for Code Project. ( see the image).

The important code is the one that downloads the XML and the one that interprets the XML

C#
Uri u=new Uri(@"http://www.codeproject.com/webservices/articlerss.aspx"); 
HttpWebRequest hwr=(HttpWebRequest)HttpWebRequest.CreateDefault(u);
HttpWebResponse hwre=(HttpWebResponse)hwr.GetResponse();
Stream s= hwre.GetResponseStream();
Byte[] read = new Byte[512];
int bytes = s.Read(read, 0, 512);
StringBuilder sb=new StringBuilder();
while(bytes>0){
Encoding encode =Encoding.GetEncoding("utf-8");
sb.Append(encode.GetString(read,0,bytes));
bytes = s.Read(read, 0, 512); 
} 

XmlDataDocument xd=new XmlDataDocument();
xd.LoadXml(sb.ToString());
XmlNodeList xnl=xd.DocumentElement.GetElementsByTagName("item");
ItemCodeProjectCollection icpcol=new ItemCodeProjectCollection();
foreach(XmlNode xn in xnl){
ItemCodeProject icp=new ItemCodeProject();
icp.Title= xn.SelectSingleNode("title").InnerText;
icp.Description=xn.SelectSingleNode("description").InnerText;
icp.Url=xn.SelectSingleNode("link").InnerText;
icpcol.Add(icp.Url,icp);
}

The rest is in the method LinksStartPage that constructs the XML needed by the Start Page.

Points of Interest

The project can be the start to interpret others RSS feeds, like the ones on DevX

Also, the project can be simpler if the Code Project owners ( with a XSL) transform theirs XML to the specific XML that is recognized by Start Page.

History

  • 2004-01 - first draft.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Software Developer (Senior) Electronic Arts
Romania Romania
VB6(from VB3) addictive (MCP also) + ASP
Now trying C#
Database : SQL Server,DB2

Comments and Discussions

 
GeneralVS.NET Start Page, Project Tab Pin
ariesinapril6-Jul-04 11:28
ariesinapril6-Jul-04 11:28 
GeneralRe: VS.NET Start Page, Project Tab Pin
Anonymous6-Jul-04 18:36
Anonymous6-Jul-04 18:36 
GeneralAdditional info Pin
GHoffer21-Jan-04 13:02
GHoffer21-Jan-04 13:02 
GeneralRe: Additional info Pin
ignatandrei21-Jan-04 20:28
professionalignatandrei21-Jan-04 20:28 
GeneralRe: Additional info Pin
GHoffer22-Jan-04 6:25
GHoffer22-Jan-04 6:25 
GeneralRe: Additional info Pin
ignatandrei22-Jan-04 20:09
professionalignatandrei22-Jan-04 20:09 
QuestionC# needed? Will it work with Vis C++ .NET std? Pin
H. Gohel20-Jan-04 4:03
H. Gohel20-Jan-04 4:03 
AnswerRe: C# needed? Will it work with Vis C++ .NET std? Pin
ignatandrei20-Jan-04 5:25
professionalignatandrei20-Jan-04 5:25 
GeneralRe: C# needed? Will it work with Vis C++ .NET std? Pin
H. Gohel20-Jan-04 5:39
H. Gohel20-Jan-04 5:39 
GeneralRe: C# needed? Will it work with Vis C++ .NET std? Pin
ignatandrei20-Jan-04 20:00
professionalignatandrei20-Jan-04 20:00 
GeneralRe: C# needed? Will it work with Vis C++ .NET std? Pin
H. Gohel21-Jan-04 2:45
H. Gohel21-Jan-04 2:45 
GeneralRe: C# needed? Will it work with Vis C++ .NET std? Pin
ignatandrei21-Jan-04 2:48
professionalignatandrei21-Jan-04 2:48 
GeneralRe: C# needed? Will it work with Vis C++ .NET std? Pin
H. Gohel21-Jan-04 3:03
H. Gohel21-Jan-04 3:03 
GeneralRe: C# needed? Will it work with Vis C++ .NET std? Pin
ignatandrei21-Jan-04 3:13
professionalignatandrei21-Jan-04 3:13 
GeneralRe: C# needed? Will it work with Vis C++ .NET std? Pin
H. Gohel21-Jan-04 4:57
H. Gohel21-Jan-04 4:57 
Yes, you are correct, .aspx was missing from the configuration. I tried to add it quickly but it seems I need to configure some more things. It won't be possible to go through that immediately though but I will revert when I can.

Thanks for finding the problem though.
GeneralNice Pin
chaldon12-Jan-04 23:21
chaldon12-Jan-04 23:21 
GeneralRe: Nice Pin
ignatandrei13-Jan-04 2:35
professionalignatandrei13-Jan-04 2:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.