Osman KURT

Kendime Not

ASP.Net de RSS Okuma

Evet arkadaşlar günümüz web dünyasının vazgeçilmezlerinden biri olan xml lerimize değincem bugün ve asp.net de nasıl xml okuduğumuzu göstercem. İşe ilk olarak default.aspx sayfamızdan başlıyoruz ve alt kısımda verdiğim kodların aynısını kendi default sayfamızda da yapıyoruz.

Default.aspx

<asp:TextBox ID="TxtRss" runat="server" Width="649px"></asp:TextBox>
        <asp:Button ID="BtnRss" runat="server" Text="RSS Load" Width="90px"
            onclick="BtnRss_Click" />
        <br />

        <asp:Panel ID="PanelContent" runat="server"
            Width="100%">

            <asp:DataList ID="DataListRSS" runat="server" BackColor="#CCCCCC"
            BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4"
            CellSpacing="2" ForeColor="Black" GridLines="Both" Width="100%">
                <FooterStyle BackColor="#CCCCCC" />
                <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
                <ItemStyle BackColor="White" />
                <ItemTemplate>
                    <%# Eval("title") %>
                    <br />
                    <%# Eval("description")%>
                    <br />
                    <%# Eval("link")%>
                    <br />                   
                    <%# Eval("pubDate")%>
                    <br />
                </ItemTemplate>
                <SelectedItemStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
            </asp:DataList>

        </asp:Panel>

Default.aspx dosyamızı oluşturduktan sonra şimdi Btnrss butonumuzun altına verecğim kodumuzu yazıyoruz.

protected void BtnRss_Click(object sender, EventArgs e)
    {
        XmlTextReader xreader;
       
        // Textbox'ın validasyon işlemini kod tarafında kontrol ediyoruz.
        if (!string.IsNullOrEmpty(TxtRss.Text))
        {
            // textbox'a girilen URL nesneye aktarılıyor
            xreader = new XmlTextReader(TxtRss.Text);
            DataSet dset = new DataSet();
            dset.ReadXml(xreader);

            // XML dosyası okunduktan sonra dataliste kaynak olarak belirtiliyor ve bağlanıyor.
            DataListRSS.DataSource = dset.Tables["item"];
            DataListRSS.DataBind();
        }

    }

Bu kodlarımızı da sorunsuz şekilde yazdıktan sonra sıra son işlemimiz olan xml sayfamıza geldi. İlk olarak RSS.xml adında bir xml sayfası oluşturuyoruz ve içine alt kısım da ki kodlarımızı yazıyoruz.

<?xml version="1.0" encoding="UTF-8"?>

<channel>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
 
<item>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
</item>

<item>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
</item>

<item>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
</item>

<item>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
</item>
 
</channel>
   

Sayfamızı çalıştırdığımızda artık istediğimiz adresten RSS okuyabiliriz.

Görüşmek Üzere;

Osman KURT

ASP.Net de Flash Animasyonlu Etiket Bulutu

Evet arkadaşlar eminim ki girdiğiniz birçok sitede bu animasyonu görmüşünüzdür. Hazır blog kullanıyorsanız zaten bu eklentiler internette mevcut durumda ufak değişikliklerle kendi sayfanıza entegre edebiliyorsunuz. Ama kendi yapmış olduğunuz bir sayfa varsa ve bu yapıyı kendiniz kurmak istiyorsanız kaynak kod için doğru yerdesiniz. Lafı uzatmadan konuya gelelim :). Arakadaşlar bu işlem için elimizd ebir adet dll miz var öncelikle bu dll dosyasını indirip projenize referans olarak almanız lazım.

http://osmankurt.net/wpcumulus.rar adresinden dll dosyamızı indirebilirsiniz.

Bu dll dosyasını indirdikten sonra projenize sağ tıklayıp reference diyerek dll'i referans olarak projenize ekleyin. Sonra visual studio'nunuzun toolbax kısmına gelin ve sağ tıklayıp choose ıtems seçimini yapın. Gelen pencereden dll mizi bu kısmada yükledikten sonra toolbax penceremize gelen WPCumulus'ı sürükleyip sayfamıza bırakalım ve alt kısımda ki gibi kodlarımızı ayarlayalım.

<cc1:WPCumulus ID="WPCumulus1" runat="server" DataCountField="Count"
        DataTextField="Text" DataUrlField="Link" Width="400" Height="400"
        BackColor="#CCCCCC" HiColor="#66FF33" TagColor1="Red" TagColor2="Blue"  Distr="True"  />

Şimdi cs dosyamıza kod yazmaya başlayalım isterseniz.

Alt Kısım da yazan kodlar animasyonumuzun içeriğini doldurmaya yarayan kodlar siz bunları kendi isteklerinize göre doldurabilirsiniz. İsterseniz dinamik bir yapıya da sokabilirsiniz ve veritabanın dan kontrol edebilirisiniz.

WPCumulus1.DataSource = new[]
                                        {
                                            new {Text = "Osman KURT", Count = 10, Link="/Tags/Silverlight" },
                                            new {Text = "Sadık VAROL", Count = 11, Link="http://iis.net" },
                                            new {Text = "YusufKARAKAŞ  ", Count = 12, Link="/Tags/IE8" },
                                            new {Text = "Cenk KÖKER", Count = 13, Link="/Tags/C#" }
                                         };
WPCumulus1.DataBind();

Not: Türkçe karekterleri desteklememektedir.

Sonraki yazımızda görüşmek üzere;

Osman KURT

ASP.Net de Ping Atmak

Bilgisayarda ping atmak uzman amatör herkesin işine yarayan bir yapıdır. Başlata basılır komut seti açılır gelen siyah ekrana ping www.adres.com yazılır ve gelen değerlerden yola çıkılarak işlemler yapılır. Şimdi ben size bu işlemin c# kodunu yazacağım. Bu kod nerde işimize yarayacak derseniz örnek vermek gerekirse siz hayatın koşuşturmasın da herşeyi unuturken birileri ya bazı programlar sizin yerinize web adresinizin yayında olup olmadığını ya da benzeri şeyleri sizin yerinize takip edebilir. Benim verecğim kod basit bir kod ama siz geliştirebilirsiniz.

Ping ping = new Ping();
PingReply DonenCevap = ping.Send(TextBox1.Text);
if (DonenCevap.Status == IPStatus.Success)
{ 
	Label1.Text += DonenCevap.Address.ToString();     
	Label1.Text += DonenCevap.RoundtripTime.ToString();     
	Label1.Text += DonenCevap.Options.Ttl.ToString();
}
else 
if (DonenCevap.Status == IPStatus.TimedOut) 
{    
	Label1.Text = ("Zaman Aşımına Uğradı."); 
}

Sonraki makalemizde görüşmek üzere;

Osman KURT