Ana içeriğe atla

Asp.Net MVC Framework - RSSFeed

Asp.Net MVC Framework – RSSFeed

 

ASP.NET MVC Framework ilk çıktığı günden bu yana gelişimi ve web geliştiricilerin üzerinde ki beğeni etkilerini incelediğimizde sürekli artan bir grafik olduğunu gözlemleriz. Bu doğrultuda artık geliştiriciler yavaş yavaş uygulamlarını MVC Framework 'e geçirmek için planlar yapıyorlar. Bu doğrultuda Asp.Net web sayfalarında yapmış oldukları yapıları da Asp.Net MVC Framework 'te kullanmak isteyeceklerdir ki bu da en olası durumdur. Daha önceden incelemiş olduğumuz konularıdaki yazılarda da değindiğimiz MVC ile hazırlanan web sayfaları gazatecilik, blog, topluluk ve bunun gibi diğer bir çok sistem için oldukça uyumlu bir yapı olduğundan defalarca bahsetmiştik. Bu web uygulamalarında en çok göze batan ve dikkat edilen özellik ise RSS bilgilerinin gösteriliyor olmadır. Bu yazımızda Asp.Net MVC Framework yardımı ile RSS bilgisini site içerisinde nasıl gösterebileceğimizi inceliyor olacağız.

İsterseniz daha önceden hazırlamış olduğunuz uygulamanızın üzerine isterseniz de yeni oluşturacağınız bir uygulamanın içeriğine controller sınıfı ekleyerek adını RSSFeedController olarak belirterek işlemlerimizi yapmaya başlıyoruz.

image.axd

Controller sınıfını oluşturduktan sonra RSS verilerini rahatlıkla işleyebilmek için projeye System.ServiceModel.Web.dll 'i referans gösteriyoruz. System.ServiceModel isim içerisinde yer alan Syndication isim alanı RSS işlemleri için gerekli olan işlemleri yapabilmemize olanak tanır.

Bu durumda bahsetmiş olduğumuz isim alanını kullanarak Controller içerisinde yer alacak olan metodu hazırlayabiliriz.

System.ServiceModel.Syndication; // System.ServiceModel.Web.dll referans olarak ekleniyor.
public class RSSFeedController : Controller
{
    public ActionResult RSSFeed()
    {
        string strFeed = "blabla.feed"; //RSS Feed adresi girilecek
        using (XmlReader reader = XmlReader.Create(strFeed))
            {
                SyndicationFeed rssData = SyndicationFeed.Load(reader);
                return View(rssData);
        }
    }
}

Controller sınfını ve içerisinde yer alacak olan ActionResult 'ı hazırladıktan sonra şimdi gerekli view 'ı oluşturup gerekli içeriği hazırlayarak işlemleri tamamlayabiliriz.


<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SyndicationFeed>" %>
<%@ Import Namespace="System.ServiceModel.Syndication"%>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
RSSFeed
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>RSSFeed</h2>
<% foreach (var item in ViewData.Model.Items)
{
string URL = item.Links[0].Uri.OriginalString;
string Title = item.Title.Text;
Response.Write(string.Format("<p><a href=\"{0}\"><b>{1}</b></a>", URL, Title));
Response.Write("<br/>" + item.Summary.Text + "</p>");
} %>
</asp:Content>

İsim alanını ekledikten sonra RSS 'te yer alan URL, konu başlığı ve içeriğini de gösterek RSSFeed i hazırlamış oluyoruz. Yaptığımız işlemler sonrasında karşımıza çıkan ekran görüntüsü aşağıdaki gibi olacaktır.

image.axd

Sonuç olarak istediğimiz işlemi başarılı bir şekilde sağlamış oluyoruz. Yukarıda yapmış olduğumuz örnek ise Asp.Net geliştirme takımının msdn içerisindeki blogundaki içerikleri göstermektedir.

Sonuç olarak bu yazımızda System.ServiceModel.Syndacation isim alanını kullanarak RSS Feed 'in nasıl hazırlanabileceğini incelemeye çalıştık.

Umarım sizler için yararlı olabilmiştir.

Kaynak
MSDN

Turhal Temizer

info@turhaltemizer.com

Yorumlar

murat ataman dedi ki…
MErhaba hocam
Yazınızdan anladıgım kadarıyla önceden varolan bir RSS'i sayfamızda gösteriyoruz. Peki hocam MVC ile RSS nasıl olusturuyoruz. Bu konuda yardımcı olursanız sevinirim..
Kolay gelsin iyi çalışmalar.

Bu blogdaki popüler yayınlar

Olasılıksız - Kitap Yorum

Olasılıksız hayatımda okuduğum en iyi kitaptı. Tek çırpıda hiç sıkılmadan, eğlenerek okudum bu kitabı, tavsiyem sizinde okumanız.Kitabın kapağı ve içeriği ile ilgili kısa bilgi aşağıdadır.Olasılık, tahmin, düşünceler, nöbetler, karışıklıklar, ileriyi görebilme zannı, dejavu ve tabii ki olasılıksız şeyler. Bu kelimelerle içli dışlı olabileceğiniz, bütün bu kelimelerin yaşamdaki yerini kavrayabileceğiniz müthiş bir uyarlama.Adam Fawer' ın ortaya çıkardığı bu uyarlama romanın müthiş bir çalışmanın ve araştırmanın sonucu ortaya çıktığının kitabın başından sonuna kadar farkındasınız. Bu uyarlamasını, derin araştırmalarıyla birleştirip romanı tekdüzelikten çıkarıp müthiş bir yere koyduğu için de Fawer' a müteşekkir oluveriyorsunuz. Sıkıcı diye nitelendirebileceğiniz teorik bilgileri bile bir çırpıda okuyuveriyorsunuz. Teorik bilgiler dahi olaylarla sonuna kadar bağlantılı aktarılmış. Tekdüzelikten çıkmış bir roman; olasılıksız. Her an olayın kurgusunun değişmesi olasılık dahilinde. …

.Net 3.5 SP1 – Full Install Packages (Tam Kurulum)

.Net Framework 3.5 SP1 ‘i bilgisayarınıza kurmak istediğinizde normal şartlar altında Microsoft ‘un sitesinde 2.7 mb ‘lik bir dosya indirir ve kurulum işlemlerinizi bu dosya üzerinden yaparsınız. Ancak bu indirmiş oluğunuz dosya yaklaşık 220 mb ‘lik veriyi internetten indirerek kurulum yapmaktadır. İnternet çıkışına izin verilmeyen kurumlar ve kuruluşlar için bu durum bir sıkıntı oluşturmaktadır. Bu sebepten ötürü aşağıdaki link yardımı ile tam yükleme paketini indirdikten sonra hiç internet ihtiyacınız olmadan .Net 3.5 SP1 ‘i kurabilmeniz mümkün olacaktır.Link

Çoklu Dil Desteği – Veri Tabanı Tasarım Örnekleri ile

Zaman içerisinde karşımıza çok farklı projeler gelebilmektedir. Ancak bu projeler içerisinde özellikle de global ölçekli ya da bu ölçekte uygulama geliştiren firmalarda bazı temel gereksinimler sürekli olarak karşımıza çıkabilmektedir. Bu gereksinimlerden biri ve belki de en önemlisi olan çoklu dil desteğinin veri tabanı (DB) katmanında nasıl yapıldığını kısa ve hızlıca inceliyor olacağız.Öncelikle çoklu dil desteği dediğimizde aklımıza gelen ilk çözüm yolu *.resx dosyalarını kullanmak gelmektedir. Ancak bu uzaktan yönetilen ya da anlık olarak metin değişikliği gereksinimi bulunan uygulamalarda bazı ufak problemler çıkartabilmektedir.Ne gibi problemler derseniz; iki grupta inceleyebiliriz. Web projeleri ve windows üzerinde çalışan projeler.Web projelerinde IIS üzerinde yer alan bir *.resx dosyasını değiştirdiğinizde son kullanıcı tarafında etkisi hemen görülmeyebilir. Cache mekanizmaları sebebiyle ortalama 15-30 dakika arasında bir görüntüleme süre farkı ile karşılaşabiliriz. Faha köt…