نمایش نتایج 1 تا 36 از 36

نام تاپیک: BehooRssGenerator - کتابخانه ای برای تولید آسان RSS

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    Thumbs up BehooRssGenerator - کتابخانه ای برای تولید آسان RSS

    BehooRssGenerator کتابخانه ای هست که برای تولید RSS برای سایت هایی که نیاز به RSS دارند نوشتم و تصمیم گرفتم اون رو به صورت عمومی منتشر کنم.

    ابزارها و کتابخانه های مختلفی برای تولید RSS وجود دارند. از جمله فضای نام جدید Syndication که در دات نت NET 3.5. وجود داره و امکان ایجاد RSS و Atom رو با استفاده از WCF یا به شکل مستقل ارائه می کنه.

    BehooRssGenerator با #C و کاملا شی گرا نوشته شده، سرعت زیادی در تولید RSS داره، از زبان پارسی پشتیبانی و همچنین دو سطح فشرده سازی "متوسط" و "زیاد" رو عرضه می کنه و کار با اون بسیار راحت هست.
    هر سوال یا مشکلی که در رابطه با این کتابخانه دارید در همین تاپیک مطرح بفرمایید.
    فایل ضمیمه شامل کتابخانه و نمونه کدی جهت استفاده است.

    برای تولید RSS با این کتابخانه، یک صفحه مثلا با نام rss.aspx ایجاد کنید و تمامی محتویات فایل aspx رو به جز دایرکتیو Page که در بالای صفحه وجود داره حذف کنید و سپس کدهای مورد نیاز رو در روال Page_Load بنویسید.

    سه نکته:
    1) اگر اخبار شما پارسی است، خاصیت Language کلاس RssChannel رو بر روی Persian قرار بدید تا RssReader ها بتونن به صورت راست چین خبرها رو نمایش بدن.
    2) حالت فشره سازی رو همیشه بر روی High قرار بدید مگر اینکه تفاوت کمی بین حالت های Medium و High وجود داشته باشه. (این تفاوت رو در Firefox می تونید با راست کلیک بر روی صفحه و انتخاب گزینه ی Page Info و مشاهده ی قسمت Size در سربرگ General مشاهده کنید) در این حالت گزینه ی Medium رو انتخاب کنید.
    3) برای یادگیری فرمت فایل های RSS و آشنایی با المنت های این استاندارد مرجع ذیل رو مطالعه بفرمایید:
    http://www.rssboard.org/rss-specification

    مثالی در رابطه با استفاده از این کتابخانه با #C

    using BehooRssGenerator.RssElements;

    ----------------------------------------------

    protected void Page_Load(object sender, EventArgs e)
    {

    RssChannel OBJ_CHANNEL = new RssChannel("Behrouz News Headlines!", new Uri("http://www.site.com/"), "ASP.NET - Daily News");
    OBJ_CHANNEL.Categories.Add(new RssCategory("Programming"));
    OBJ_CHANNEL.Categories.Add(new RssCategory("Updates", "http://www.site.com/updates"));
    OBJ_CHANNEL.CompressionMode = RssChannel.CompressType.High;
    OBJ_CHANNEL.Copyright = "(c) 2008, Behrouz News Agency.";
    OBJ_CHANNEL.Language = RssLanguages.Persian;
    OBJ_CHANNEL.LastBuildDate = DateTime.Now;
    OBJ_CHANNEL.ManagingEditor = new System.Net.Mail.MailAddress("my1@domain.com", "Ali Ahmadi");
    OBJ_CHANNEL.WebMaster = new System.Net.Mail.MailAddress("my2@domain.com", "Behrouz Rad");

    OBJ_CHANNEL.Items.Add(new RssItem("اولین خبر", new Uri("http://www.site.com/news.aspx?id=1"), "متن خلاصه اولین خبر"));

    RssItem OBJ_ITEM = null;
    OBJ_ITEM = new RssItem("دومین خبر", new Uri("http://www.site.com/news.aspx?id=2"), "متن خلاصه دومین خبر");
    OBJ_ITEM.Author = new System.Net.Mail.MailAddress("my2@domain.com", "Behrouz Rad");
    OBJ_ITEM.Categories.Add(new RssCategory("Programming"));
    OBJ_ITEM.Comments = new Uri("http://www.site.com/news.aspx?id=2/comments");
    OBJ_ITEM.Guid = new RssGuid(Guid.NewGuid().ToString());
    OBJ_ITEM.PubDate = DateTime.Now.AddHours(-3);

    OBJ_CHANNEL.Items.Add(OBJ_ITEM);

    OBJ_CHANNEL.GenerateRss(this.Context);

    }



    مثالی در رابطه با استفاده از این کتابخانه با VB.NET

    Imports BehooRssGenerator.RssElements

    ----------------------------------------------

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim OBJ_CHANNEL As New RssChannel("Behrouz News Headlines!", New Uri("http://www.site.com/"), "ASP.NET - Daily News")
    OBJ_CHANNEL.Categories.Add(New RssCategory("Programming"))
    OBJ_CHANNEL.Categories.Add(New RssCategory("Updates", "http://www.site.com/updates"))
    OBJ_CHANNEL.CompressionMode = RssChannel.CompressType.High
    OBJ_CHANNEL.Copyright = "(c) 2008, Behrouz News Agency."
    OBJ_CHANNEL.Language = RssLanguages.Persian
    OBJ_CHANNEL.LastBuildDate = DateTime.Now
    OBJ_CHANNEL.ManagingEditor = New Net.Mail.MailAddress("my1@domain.com", "Ali Ahmadi")
    OBJ_CHANNEL.WebMaster = New Net.Mail.MailAddress("my2@domain.com", "Behrouz Rad")

    OBJ_CHANNEL.Items.Add(New RssItem("اولین خبر", New Uri("http://www.site.com/news.aspx?id=1"), "متن خلاصه اولین خبر"))

    Dim OBJ_ITEM As RssItem = Nothing
    OBJ_ITEM = New RssItem("دومین خبر", New Uri("http://www.site.com/news.aspx?id=2"), "متن خلاصه دومین خبر")
    OBJ_ITEM.Author = New Net.Mail.MailAddress("my2@domain.com", "Behrouz Rad")
    OBJ_ITEM.Categories.Add(New RssCategory("Programming"))
    OBJ_ITEM.Comments = New Uri("http://www.site.com/news.aspx?id=2/comments")
    OBJ_ITEM.Guid = New RssGuid(Guid.NewGuid().ToString())
    OBJ_ITEM.PubDate = DateTime.Now.AddHours(-3)

    OBJ_CHANNEL.Items.Add(OBJ_ITEM)

    OBJ_CHANNEL.GenerateRss(Me.Context)

    End Sub

    پیاده سازی کتابخانه در MVC و Web Forms متفاوت است. بنابراین برای استفاده در ASP.NET MVC از کتابخانه ای که در فایل ضمیمه ی مرتبط وجود دارد استفاده بفرمایید. برای MVC یک ActionResult سفارشی با نام RssResult وجود دارد که Channel را به عنوان ورودی می گیرد:

    return new RssResult(rssChannel);

    آپدیت در 18/1/1389: اضافه شدن نسخه ی ASP.NET MVC
    موفق باشید.
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله Behrouz_Rad : جمعه 19 فروردین 1390 در 13:48 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •