25 Ağustos 2011 Perşembe

Web Sayfalarından İçerik Alma

Web sitelerinizin belirli sayfalarında uzun açıklamalar, makaleler vb. yazılar bulunur ve bu yazılardan kısa bir pasajını ana sayfada göstererek okuyucunun ilgisini çekmek isteyebilirsiniz. İstediğiniz pasajı kopyalayıp yapıştırarak görüntüleyebilirsiniz ancak içerik güncellendiği takdirde ana sayfayı da güncellemek zorunda kalırsınız ve bu size çok zaman kaybettirir.

Çeşitli metodlarla programatik olarak web sayfalarından içeriğinizin bir kısmını çekebilmeniz mümkün. Örneğin içeriğiniz paragraflara ayrıldığından ilk paragrafı çekerek pasajınızı yayınlayabilirsiniz. Aşağıdaki küçük örnek işinizi görecektir:

using System;
using System.Web;
using System.Web.UI;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string FirstParagraph = GetFirstParagraph();
        LabelPasaj.Text = FirstParagraph;
    }

    protected string GetFirstParagraph()
    {
        string html = File.ReadAllText("http://www.website.com/content.aspx");
        Match m = Regex.Match(html, @"

\s*(.+?)\s*

"); if (m.Success) { return m.Groups[1].Value; } else { return ""; } }

Gördüğünüz üzere Page_Load tarafına metoddan ilgili pasajı string olarak alıp ana sayfada yayınlayacağımız label'in Text'ine atıyoruz. Böylece ziyaretçilere diğer sayfaları gezdirmeden sayfaları önizleme yapmalarına imkan sağlayabiliriz.

8 Ağustos 2011 Pazartesi

Singleton Nesne Oluşturma

Uygulamanın performansını artırmak amacıyla sadece bir kez yaratılmasının yeterli görüldüğü nesneleri birkaç kez yaratılmasını önleyebilirsiniz. Buna Singleton Nesne denir. Aşağıdaki örnekte private static olarak oluşturulan nesne program execute edildiğinde birkez yaratır daha sonra public static metodundan çekilir.

public class Singelton
{
    private static Singleton nesne = new Singleton();
    
    public Singleton(){ }
    
    public static Singleton NesneAl()
    {
        return nesne;
    }
}

Böylece projenizde ilgili nesneyi NesneAl() metodunu kullanarak çağırabilir ve tekrar yaratmasını engelleyerek uygulamanın performansını artırabilirsiniz.

class Ana Program
{
    static void Main(string[] args)
    {
        Singleton nesnemiz = Singleton.NesneAl();
    }
}