RSS
 

Archive for the ‘Asp.net’ Category

IE 7 Facebook Connect butonu görüntülenme sorunu

24 Ağu

IE7 web tasarımı ile uğraşanların başını en çok ağrıtan tarayıcı şu an staj yaptığım yerde yaptığımız siteler için ie 7 desteği sağlıyoruz fakat sanki ie 7 sabırları zorluyor diğer bütün browserlarda sorunsuz çalışan sistem ie gelince patlıyor neyse ki cross browsering yaparak css ile ilgili sorunlara çözüm bulunabiliyor. Sizlerle karşılaştığım bir sorunu ve çözümünü anlatacağım sitemizin üyelik aşamasında facebook connect kullanarak kişisel bilgilerini çekiyruz fakat ie 7 de facebook connect butonu görüntülenmiyor bu sorunu sayfamıza   <html xmlns:fb="http://www.facebook.com/2008/fbml"> namespace ini ekleyerek çözüyoruz eğer asp.net ve master page kullanıyorsanız bu kodu master page inize eklemeniz gerekiyor

 
No Comments

Posted in Asp.net

 

IIS seo toolkit ile seo ayarları nasıl yapılır?

16 May

İis seo toolkit ile seo ayarları nasıl ayapılır?

Search engine optimization toolkit web sitelerimizin arama motorları böcekleri tarafından daha hızlı bir şekilde indekslenmesini sağlar. Seo işlemini en iyi olarak google  webmaster tools ve analytics hizmetlerini kullanarak daha ayrıntılı olarak gerçekleştirebilirsizin.

Biz iseIIS kullanarak sitemize nasıl seo işlemi uygulayacağımzı göreceğiz. Öncelikle bu işlem için gerekli olan toolkiti “http://www.iis.net/download/seotoolkit” sitesniden ücretsiz olarak indirip sisteminize kuruyoruz. Setup kurulduktan sonra iis imizi açıyoruz ve aşağıdaki ikonları görüyoruz bu ikonlardan web platfrom installer a tıklayarak sisteminizde kurulu web uygulamalarını ve kurmak sitediğiniz programları bulabilirsiniz.

Search engine optimization a tıklıyoruz. Bu kısımda bize 3 ana başlık oluşturuyor.

  • Site analysis
  • Stiemaps and sitemap indexes
  • Robots exclusion

Öncelikle site analaysis i inceleyelim; Create new analaysis diyerek yeni bir site analizi oluşturuyoruz. Gelen sayfada analizim için gerekli ayarlamaları yapıyoruz.

Rapor aslma işlemi sizin girdiğiniz ayarlara göre yani raporu alınacak url sayısı ve indirilecek olan sayfaların boyutlarına göre yavaşlayacaktır. Eğer siteniz bir forum sitesiyse ve linkleri görmek için bir üyelik gerekiyorsa “Connect as ” kısmından bir kullanıcı adı ve şifre belirleyebilirsiniz.

Ok deyip raporumuzu aldığımızda bize raporun özetini oluşturuyor ben kendi sitemi analiz ettim ve sonuç aşağıdaki gibi çıktı 453 adet hata buldu şimdi bu hataları inceleyelim.

Hatalar performans, uyarı ve seo hataları olarak gruplandırılıyor. Benim sitemde 118 tane kırık link buldu bunlara ek olarak “page specifies more than one canonical url ” yani standartlara uymuyan 44 tane link buldu bi yerde h1 tagını kapatmayı unutmuşum.  Bu hataların olduğu sayfaları çift tıklayarak görüntüleyebilirsiniz. Hatanın birini inceleyelim.

http://www.serdardemir.net/2009/07 bu link için kırık lin uyarısı veriyor. Bu uyarıya çift tıklıyoruz.

Bu pencerede hata olan sayfa ile ilgili detayları görüyoruz. Headers sekmesinde sayfamızın başlığını Content sekmesinde ise sitemizin html formatında kaynak kodunu görüyoruz. Word analaysis sekmesinde o sayfadaki geçen kelimelerin analizini görüyoruz. Hangi kelime kaç kere kullanılmış tekrar eden kelimeler 3 kez kullanılanlar vb.. Links sekmesinde sayfaya gelen url leri ve sayfadaki url leri inceleyebiliyoruz. Violations kısmında ise o sayfa da var olan diğer hataları görebiliriz.

“The page was excluded by a noindex attribute.The page content at this URL has not been analyzed because the page has a “noindex” meta tag.”

The page contains broken hyperlinks. The Web page contains the broken link ‘http://www.serdardemir.net/wp-content/themes/mystique2/favicon.ico’.”

The page contains unnecessary redirects. The link to “http://www.serdardemir.net/author/admin/” has resulted in HTTP redirection to “http://www.serdardemir.net/author/admin”.

Performans sekmesinde ise siteniz yüklenirken yavaş açılan sayfaları ve sürelerini  sitenizin içerik tiplerini (“text-css-xml-image gibi”) görebilirsiniz.

Seo toolkitin diğer yeteneklerini incelediğimizde ise Sitemap index ve robots başlıklarını görüyoruz. Bu başlıklardan sitemiz için site haritası oluşturabiliriz Robots başlığından ise sitemizi indeksleyecek olan robotların görmesini istediğimiz sayfaları ve görmelerini istemediğimiz sayfaları seçiyoruz.

 
 

Asp.net Application cache nedir?

09 May

Asp.net Application cache nedir?

Cache kelimesini hepimiz duymuşuzdur özellikle işlemci ve ram ile ilgili konularda kısaca çalışma mantığını anlatalım bilgisayarımızda cache bellek bizim en çok yaptığımız işlemleri üzerinde hazır olarak barındıran hafıza birimleridir. Veri iletimi çok hızlıdır.  

Bildiğimiz gibi asp.net server tarafında çalışan bir web programlama dilidir yani sayfanızda yapılan en ufak bir değişiklikte sayanın postback olması ve verinin servera gidip tekrar geri dönmesi gerekir. Bu işlem elbetteki çok kullanıcı sistemlerde server tarafında büyük sıkıntıya yol açacaktır. Bu sıkıntıların en çok yaşandığı kısım elbetteki veriye erişim aşamasında meydana gelir. Sürekli olarak veriye daha hızlı ulaşabilmek için yeni teknolojiler üretilmiştir seralize, pooling, xmlhttp ajax ve  cache gibi biz ise bugun asp.net ile cache teknolojisini inceleyeceğiz.

Öncelikle yeni bir web sitesi açıyoruz bir ve basit bir örnekle işe başlıyoruz. Örneğimizde bir xml dosyasından veriyi çekip cache imize yukleyeceğiz daha sonra ise gridviewe yukleyeceğiz ve trace ile sayfamızı izleyerek iki farklı yöntem arasındaki hızlı farkını göreceğiz.

İlk olarak solution explorer dan bir xml dosyası ekliyoruz (xml eklememizin boyutunun küçük olması) formumuza da bir datagridview ekliyoruz.

Diyelimki aşağıdaki gibi müzik listenizin olduğu bir xml dosyanız var. Ve bu listeye şarkı eklendiğinde çıkartıldığında ilk açılışta xml den okuyacak fakat daha sonra bellekten okumasını sağlayacağız.

Sayfamızın kod kısmına geçiyoruz ve

if (!IsPostBack) //sayfa ilk defa çalıştırılıyorsa

{

DataSet ds;

ds = ((DataSet)(Cache["Muzikler"]));

if (ds==null)//xml i okuyacaığımız dataset boş ise xml den yukle

{

string path = Server.MapPath(“~/muzikler.xml”);

ds = new DataSet();

ds.ReadXml(path);

CacheDependency cd = new CacheDependency(path);

Cache.Insert(“Muzikler”, ds, cd);

Trace.Warn(“xml dosyasından den okundu”);

}

else //datasetimiz şu anda dolu ve else bloğu çalışacak

{

Trace.Warn(“cache den okundu”);

}

GridView1.DataSource = ds;

GridView1.DataBind();

Projeyi bu şekilde çalıştırdığınızda süre bilgisini göremeyeceksiniz sadece verilerin datagridview e eklendiğini göreceksiniz fakat bu kadar az bir veride hızı farketmeniz mümkündeğil o yüzden trace ile izlediğimiz duruma bakmak için sayfamızın kaynak kodunda  aşağıdaki değişikliği yapıyoruz. Tracemode ise 2 versiyonu mevcut bunu yazarsak işlem süremizi üst kısımda görebiliriz.

<%@ Page Language=”C#” AutoEventWireup=”true”  CodeFile=”Default.aspx.cs” Inherits=”_Default” Trace=”true” TraceMode=”SortByCategory” %>

Şimdi kodları açıklayalım :

Öncelikle Cache e insert metodu ile itemlerimizi nasıl ekleriz?

Insert metodu 5 adet parametre ile aşırı yuklenmiş versiyonları mevcuttur. Biz anlattığımız durumu ele alalım xml den veri okuyorsunuz ve bu veriyi cache atmak istiyorsunuz. Cache.Insert(“Muzikler”, ds, cd);

  1. Parametre olan dosya bizim xml dosyamızın ana kok dizini olacak 2. Parametre olan dataset ise datasetin read xml metodu ile xml dosyamızı okuyup yukleyeceğimiz veri kaynağımız, 3. Parametre olan Cache Dependency ise bizim xml kaynağımız güncel olabilir yani silme ve ekleme gibi durumlarda bizim cachemiz ona göre kendini tekrar hafızaya yuklemesini sağlar. Bunlara ek olarak diğer parametreler ise cacheleme süresi gibi özellikleri barındırır aşağıdaki kullanım cachelediğimiz bilginin hafızada ne kadar tutulacağını gösterir.

Cache süreleri

Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));

Response.Cache.SetCacheability(HttpCacheability.Public);

Response.Cache.SetValidUntilExpires(true);

Bunlara ek olarak eğer siz elle silmek isterseniz Cache.Remove(“dosya”) diyerek hafızadan direk silebilirsiniz.

Şimdi projemizi çalıştırdığımızda aşağıdaki gibi bir görüntü oluşacaktır.

Cache e yuklemeden 756;

Cache e yuklemeden 19; yaklasık 40 kat bir hız sağladı

 
No Comments

Posted in Asp.net