RSS voogude värskete uudiste korjamise rakendus: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Ajastrem (talk | contribs)
No edit summary
Ajastrem (talk | contribs)
No edit summary
Line 29: Line 29:
                     formats[0] = "ddd',' dd MMM yyyy HH':'mm':'ss'.'fffffff zzzz";
                     formats[0] = "ddd',' dd MMM yyyy HH':'mm':'ss'.'fffffff zzzz";
</source>
</source>
<br />Edasi oli vaja implementeerida RSS voogude kätte saamine
<br />[[RssFeed Retrieve]] RSS voogu uudiste nimekiri kätte saamine
<br />[[RssFeed Retrieve]] RSS voogu uudiste nimekiri kätte saamine
<source lang=csharp>/// <summary>
<source lang=csharp>/// <summary>

Revision as of 09:33, 23 April 2010

Idee oli koostada webi teenus mis oskaks kasutajate RSS voogude nimekirjast koostada viimaste uudiste nimekiri.

Probleemide nimekiri oli teada:
1) RSS voogud on disaini poolest erinevad
2) RSS aja formaati standart on uurimata
3) Uudiste sünkrooniline uuendamine on aeglane

Pakkutav lahendus oli:
1) Rakenduses kasutakse ainult ühine osa RSS voogudest
2) Aja formaat uurida ja leida lahendust
3) Uudised uuendada asünkroonselt

Rakendus on paigaldatud siin (google code)
Koodi saab kätte SVN kliendi abil, näiteks tortoise SVN

Selleks, et veenduda et RSS web teenus töötab tegin juurde kah väikse web saiti,
ehk kogu komponentide pilt oleks selline:


Kõige pealt pidi uurima millist aja formaati kasutab RSS standart,
uurides standarti selgus et kasutakse RFC822 aja standart
Rfc822DateTimeFormat csharp RSS aja standarti c# implementatsioon

public static string[] Rfc822DateTimePatterns {
            get {
                    formats = new string[35];

                    // two-digit day, four-digit year patterns
                    formats[0] = "ddd',' dd MMM yyyy HH':'mm':'ss'.'fffffff zzzz";


Edasi oli vaja implementeerida RSS voogude kätte saamine
RssFeed Retrieve RSS voogu uudiste nimekiri kätte saamine

/// <summary>
        /// Retrieves an RSS feed using the given Url, parses it and
        /// creates and new <see cref="RssFeed">RssFeed</see> object with the information.
        /// If an error occurs in the XML loading of the document, or parsing of
        /// the RSS feed, the error is trapped and stored inside the RssFeed's
        /// ErrorMessage property.
        /// </summary>
        /// <param name="Url">The url to retrieve the RSS feed from, this can
        /// be in the format of http:// and also file://.. (ftp?)</param>
        /// <returns>An <see cref="RssFeed">RssFeed</see> object with information
        /// retrieved from the feed.</returns>
        public RssFeed Retrieve(string Url) {