Archive for December, 2008

  • Dec
  • 31
  • 2008

new Year(“2009″).KutluOlsun();

| View: 149 | Comments:

(:

  • Dec
  • 26
  • 2008

TFS’den Excel’e export sorunu

Tags: , | View: 163 | Comments:

Team Foundation Server’da Work Item’lardan yada başka herhangi bir Item’ı excel’e export etmeye çalıştığınızda aşağıdaki hatayı alıyorsanız,küçük bir kaç şey yapmanız gerekiyor.

“TF80042: The document cannot be opened because you do not have Microsoft Excel 2003 or later, or one of its components installed. For more information, see the Team Foundation Installation Guide.”

Öncelikle bu hatanın nedeni Excel’in ilgili bileşenlerinin yüklü olmaması. Eğer Excel’i her hangi bir .NET kurulumundan önce kurduysanız, Excel’in kurulum aşamasında opsiyonel olarak sorduğu .NET Programmability Support‘u yüklememiş oluyorsunuz. Bu bileşeni tekrardan yüklemek için http://blogs.microsoft.co.il/blogs/srlteam/archive/2007/07/17/Error-when-trying-to-export-queries-to-Excel.aspx adresindeki açıklamarı takip edebilirsiniz.

 

  • Dec
  • 24
  • 2008

Internet Explorer memory sorunları…

Tags: | View: 227 | Comments:

Bunuda gördüm ya;

memoryleakie7

Az önce bilgisayarım yavaşlamasından dolayı bakma gereği duyduğum Task Manager’da ki görüntü yukarıda ki gibiydi. Sadece 4 tab açık olmasına rağmen, Internet Explorer 7′nin kendince kaynak tüketiyor olması nedense pek şaşırtmadı beni…

  • Dec
  • 24
  • 2008

Team Explorer kurulumu

Tags: , , | View: 350 | Comments:

Bugün ofiste karşılaştığımız bir problemi paylaşmak istiyorum. Service Pack 1 yüklenmiş bir Visual Studio 2008′e Team Explorer yükleyince, Team Explorer ne yazık ki düzgün çalışmıyor.

Could not load type ‘Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemTypeDeniedOrNotExistException’ from assembly ‘Microsoft.TeamFoundation.WorkItemTracking.Client, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’

Yukarıdaki gibi ya da benzer hataları alabiliyoruz. Bundan dolayı SP1′i tekrardan yüklemek gerekiyor. Ancak Visual Studio 2008′e önce Team Explorer kurarsanız daha sonra SP1′i yüklerseniz, SP1 aynı zamanda Team Explorer’ı da güncelliyor ve sorun yaşamıyorsunuz.

  • Dec
  • 23
  • 2008

C#’da bilgisayarın IP adresini öğrenmek

Tags: , | View: 576 | Comments:

Bir uygulama için IP adresine ihtiyacımız var diyelim. Bir kaç farklı yöntemle yapabiliriz. En basitinden aşağıdaki gibi yapabiliriz.

       IPHostEntry ipEntry = Dns.GetHostByName(Dns.GetHostName());
       IPAddress[] addr = ipEntry.AddressList;

addr[]‘nin içinde döndüğümüz zaman bize sırayla IP adreslerini verecektir. İstediğimiz IP adreslerine bu şekilde ulaşmış olsakta, Vista gibi IPv6 protokolünü de destekleyen sistemlerde bu kod tam olarak istediğimiz gibi işimizi görmeyebilir. Daha doğrusu farklı protokoller ile çalışan network arayüzlerinin desteklendiği hiç bir sistemde işimizi tam olarak görmez. Bundan dolayı IPAddress’lerin AddressFamily özelliğini kontrol etmemiz lazım. IPv4 protokolünün AddressFamily’de ki karşılığı InterNetwork. Yani addr[] içinde dönerken aşağıdaki gibi bir kontrol yapmamız gerekmekte.

            for (int i = 0; i < addr.Length; i++)
            {
                if (addr[i].AddressFamily == AddressFamily.InterNetwork)
                {
                    //Bir şeyler yap
                }
            } 

Bu şekilde IPv4 protokolüne uygun IP adreslerini almış olduk.

  • Dec
  • 22
  • 2008

ÖzelleÅŸtirilmiÅŸ Web Control’leri

Tags: , , | View: 153 | Comments:

Şu sıralar özelleştirilmiş kontroller yaratmakla uğraşıyorum. Bu konu dahilinde bir kaç şey paylaşma gereği duydum. ASP.NET ile özelleştirilmiş kontroller geliştirmek için .NET Framework’ü bize bir çok sınıf ve metod sunuyor. Bundan bahsetmeye gerek yok sanırım. Peki bu sınıfları ve metodları en doğru şekilde nasıl kullanabiliriz?
Özelleştirilmiş bir web kontrolü yaparken, WebControl ve Control sınıflarından türetiyoruz kendi kontrolümüzü. Çünkü default olarak gelen yapılar bunlar. Ancak bazı işlerimizi kolaylaştırmak adına başka sınıflardan da yararlanabiliriz.Bu kısma daha sonra tekrardan değineceğim.
Özelleştirmiş olduğumuz kendi web kontrolümüzü yarattıktan sonra, bu web kontrolümüze,içinde kullanacağımız diğer kontrollerimizi ekleriz; yani genellikle bu şekilde bir yaklaşım olur. Control ağacına, Controls.Add(Control c) şeklinde ekleyeceğimiz kontroller ile kendi özelleştirilmiş kontrolümüze bu diğer kontrolleri eklemiş oluruz. Bu işlemi CreateChildControls() methodunu override ederek yapmak en doğru yaklaşım olacaktır. ASP.NET sayfası çalıştığı zaman belli metodlar belli bir sıra ile çalışır. CreateChildControls()’da bu sırada yer almaktadır ve çalışması gerektiği zaman çalışır. Bu zamanı .NET Framework’ü bildiği için bu görevi tamamen onun üzerine yıkmak, controllerin durumları ve ViewState için en doğru yaklaşım olacaktır.

protected override void CreateChildControls(){
                     Controls.Clear(); //Öncesinde control ağacımızı temizlemekte fayda var.
                     ……… //Diğer kontrolleri yaratabiliriz…
}

  • Dec
  • 19
  • 2008

Application Architecture Guideline 2.0 yayınlandı…

Tags: | View: 119 | Comments:

Microsoft Patterns&Practices ekibi Application Architecture Guideline’nın son versiyonunu yayınladı. .Net ile bir uygulama geliştirirken mimari tasarımlarda nelere dikkat etmek gerekir ve nasıl bir mimari oluşturulmalıdır gibi konuların ele alındığı bu guideline’a http://www.codeplex.com/AppArchGuide adresinden ulaşabilirsiniz. 

  • Dec
  • 18
  • 2008

Live Writer’de Turkce problemi

| View: 160 | Comments:

Live Write ile WordPress uyumlu calisiyor mu.Ne yazik ki Turkce karakterlerde sorun yasayabiliyorsunuz.Bakiniz bu yazi.

Hevesim kursagimda kaldi. ):

  • Dec
  • 12
  • 2008

10 dakikada SCRUM

Tags: , | View: 291 | Comments:

Agile geliştirme yöntemlerinden Scrum ile ilgili 10 dakikalık bu videoyu izlemenizi tavsiye ederim.

10 dakikada Scrum

  • Dec
  • 02
  • 2008

Dinamik kontrollerde ViewState-Control Tree ilişkisi

Tags: , | View: 241 | Comments:

ViewState kavramı dinamik kontroller yaratırken çok önemlidir. Yaratılan dinamik kontrollerin durumlarını ViewState sayesinde koruyabilir, bu kontroller üzerinde işlemler yaparken ViewState’deki datayı kullanabiliriz.
Ancak bu noktada dinamik olarak yarattığımız ve sayfaya eklediğimiz kontrollerin hiyerarşik yapısından emin olmamız lazım.  Nedir bu yapı peki?
Sayfaya eklediğimiz kontroller, belli bir düzene göre o sayfada yer alır. Bu yapıya Control Tree denir. Dinamik yada statik olarak eklediğimiz kontrollerin bu ağaç yapısındaki yerlerinden biz sorumlu oluruz. Controls.Add(Control c) şeklinde bu kontrol ağacına yeni kontroller ekleyebiliriz. ViewState kavramı bu noktada çok önem kazanıyor. Aşağıdaki gibi bir örnekle bunu açıklamaya çalışacağım.
Şimdi bir tane Button olduğunu farzedelim.Buna basınca yeni 2 tane kontrol ekleyelim.

protected void Button1_Click(object sender, EventArgs e)
{
            TextBox mail = new TextBox();
            this.form1.Controls.Add(mail);

            TextBox phone = new TextBox();
            this.form1.Controls.Add(phone);
}

Bir çoğumuz ilk olarak böyle yapıyoruz eminim ki. Button’a tıkladığımızda sayfa postback olur, ASP.NET Page LifeCycle sırayala çalışır ve son olarak bu event çalışır ve ekranda 2 tane textbox görürüz. Buraya kadar her şey çok güzel. Ancak sayfada başka bir postback olduğunda bu kontrollerin kaybolduğunu ya da durumlarının korunmadığını görürüz.
Ve ilk olarak aklımıza ViewState gelir. Ancak ViewState gelmeden önce kontrol ağacını düşünmemiz gerekir. Çünkü ViewState, kontrol ağacındaki kontrollerin durumundan sorumludur. Kontrol ağacının kendisinden sorumlu değildir. Controls.Add() şeklinde kontrol ağacına eklemediğimiz kontrollerin ViewState’lerini korumamak pek mümkün değildir. Bu durumda 2. bir postback olduğunda kontrol ağacında hiç bir kontrol olmadığı için, kontrollerin ViewState’leri de olmaz.