AuthorSinan BOZKUŞ

Handler “PageHandlerFactory-Integrated” has a bad module “ManagedPipelineHandler” in its module list

H

Windows Server 2008 üzerinde .Net Framework 4.0 kurulumunu yaptıktan sonra web sitelerimi ASP.NET 4.0 ile çalıştırmak istediğimde bu hata ile karşılaştım. Hata, IIS’ in sunucudaki en güncel sürüm ile uyum sağlayamamasından kaynaklanıyor. Aşağıdaki adımları izleyerek sunucunuzdaki en güncel framework’ ü yapılandırarak hatayı giderebilirsiniz.

  • Öncelikle başlar > çalıştır (start>run) ‘ a girerek cmd yazıyor ve enter tuşuna basıyoruz
  • Açılan pencere de cd “C:\Windows\Microsoft.NET\Framework\” komutunu giriyoruz. (64bit ise Framework64 yazmanız gerekli)
  • dir komutunu kullanarak tüm dizinleri listeliyoruz.
  • v4.0 olan dizine cd v4.0… şeklinde dizin ismini yazarak giriyoruz. (veya güncel sürüm ne ise…)
  • aspnet_regiis.exe -i komutunu girerek işlemleri tamamlıyoruz, IIS’ i yeniden yapılandıracaktır.

Kısacası yaptığımız işlem sunucudaki güncel framework dizine erişim aspnet_regiis.exe -i komutunu çalıştırıyoruz, bu sayede IIS güncel framework sürümümüz ile uyum sağlayayacak şekilde yeniden yapılandırılıyor.

MySQL Apply Security Settings Error 1045

M

Windows Server 2008 üzerinde mevcut mysql ayarlarımı değiştirmek nedeniyle komple MYSQL’ i kaldırdım. Tekrar kurmak istediğimse ise yukarıdaki saç baş yolduran hata ile karşılaştım :)

1. Prepare configuration (pass)
2. Write configuratin file (pass)
3. Start service (pass)
4. Apply security setting (failed)

işleminde hata vermekteydi.

Çözüm olarak;

1. MySQL’ i komple siliyoruz.
2. C:/ProgramFiles/MySQL dizinini komple siliyoruz.
3. C:/ProgramData/MySQL dizinini komple siliyoruz. (Gözükmüyorsa gizli dosyaları göstermeniz gerekmektedir.)
4. Denetim Masası > Windows Firewall dan MySQL’ i kaldıracağız, bu sayede 3306 portu boşa düşecek.

Yukarıdaki adımları yaptıktan sonra tekrar MySQL kurulumunuzu yapabilirsiniz.

Too many characters in character literal

T

İş yerinde çalışırken delirmeme sebep olan bir hata :) Proje 2 dakika önce sorunsuz derlenirken birden bire bu hatayı verir oldu. Daha sonra kendiliğinden düzeldi ve ilerleyen zamanlarda yine bu hata ile karşılaştım :) Araştırmalarım sonucu hatanın 2 farklı nedenden ortaya çıkabileceğini ve 3 farklı şekilde çözülebildiğini buldum.

İlk olarak html kodlarımızda aşağıdaki gibi  bir yapı kullandıysak, yani Eval içerisinde çift tırnak kullanmak yerine dışında kullandıysak ortaya çıkabiliyor.

[csharp]Text="<%# Eval(‘kullaniciadi’) %>"[/csharp]

bunun yerine

[csharp]Text='<%# Eval("kullaniciadi") %>'[/csharp]

şeklinde bir yapı kullanmamız gerekiyor.

İkinci olarak form load ekranında aşağıdaki gibi bir yapı kullanırsanız bu hata ortaya çıkıyor.

[csharp]<form id="frmAnaSayfa" onload="alert(‘Merhaba!’)" runat="server">[/csharp]

Alternatif bir çözüm olarak ise “Build > Clean” yaptıktan sonra tekrar derlemeyi deneyebilirsiniz.

MySQL Tablo Sıfırlama

M
[sql]TRUNCATE table TabloAdı[/sql]

komutu ile tablo içerisindeki herşeyi silip ID değerinin 0 (sıfır) dan başlamasını sağlayabilirsiniz. Tablo yeniden yaratılmış gibi ilk haline dönecektir.

Build, Rebuild, Compile ve Clean Arasındaki Farklar

B

Hepimiz projemizi çalıştırmadan önce derliyoruz, derleme işlemini gerçekleştirmeden çalıştırsak dahi Visual Studio bizim yerimize derleme işlemini yapıyor. Aşağıdaki yazıdan derleme türlerinin neler olduğunu öğrenebilirsiniz. Yazılanlar Visual Studio için geçerlidir, geliştirme araçlarına göre farklılıklar gösterebilir.

Compile: Sadece editör de o an açık olan sayfayı derler.

Build: En son yapılan build işleminden sonra üzerinde değişiklik yapılan tüm dosyaları derler.

Rebuild: Herhangi bir durumu dikkate almaksızın projenin tamamını yeniden derler. Tüm proje yeniden derleneceğinden Build işlemine göre daha uzun sürecektir ancak build ile derleme sırasında oluşan hataları rebuild ile çözebilirsiniz.

Clean: Derleme sonrasında oluşan geçici ve kalıcı tüm dosyalar temizlenir. Bir sonraki derleme işleminde temiz bir başlangıç yapılır. Genellikle proje kodları bir başkasına gönderilmek istenildiğinde hem proje boyutunu ufaltmak hemde gereksiz dosyalardan kurtulmak adına tercih edilir.

Umarım faydalı olmuştur :)

[No relevant source lines]

[

[No relevant source lines]

Yukarıdaki saçma hata hiç birşeyi açıklamasa da yetki hatasından meydana geliyor :) Web.config dosyanıza Network Service yetkisini full olarak verirseniz sorun ortadan kalkıyor. Eğer yetki verdiyseniz ve sorun halen devam ediyorsa ASP.NET’ in temp klasörlerine de aynı yetkiyi vermeyi deneyebilirsiniz.

Javascript Clear Text

J

Html textboxlarınızın üzerine tıklanıldığı zaman textbox içeriğini silmek için aşağıdaki kodu inputunuza ekleyebilirsiniz.

[javascript]onfocus="this.value = ”"[/javascript]

Visual Studio Hata Mesajlarının Dilini Değiştirmek

V

Web sitemizin yada programımızın farklı bir dilde hata vermesini isteyebiliriz. Özellikle bir hata ile karşılaştığımızda Türkçe kaynak sıkıntısı nedeniyle hatayı İngilizce olarak araştırıp çözüp bulmak çok daha pratik oluyor. Aşağıdaki kodu projenizin load aşamasında girerek hata mesajlarını istediğiniz dile çevirebilirsiniz.

[csharp]System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("En");[/csharp]

* En yerine istediğiniz dilin kısaltmasını yazabilirsiniz.

String was not recognized as a valid DateTime

S

String was not recognized as a valid DateTime

Yukarıdaki hata ile genellikle bir string veriyi datetime formatına çevirirken karşılaşıyoruz. Öncelikle datetime formatına çevirmek istediğimiz string verinin çevrilebilir bir şekilde geldiğinden emin olmalıyız.

Hatanın bir diğer nedeni ise sunucunun tarih formatının yanlış olması olabiliyor. Sunucunuzun bölge ayarlarından tarihin 15.06.2011 15:34 gibi olduğundan emin olun. Eğer bu şekildeyse ve sorun halen devam ediyorse web.config dosyamızda bir takım değişiklikler yaparak sorunu gidebiliriz.

Web.config te yapacağımız bu değişiklik ile yazılımımız/web sitemiz sunucunun saat ayarını değil web.config dosyasına girmiş olduğumuz saat ayarını kullanacak. Aşağıdaki kodları <system.web> içerisine yazmanız gerekmektedir.

[csharp]<globalization
culture="tr-TR"
uiCulture="tr-TR"
/>[/csharp]

The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine.

T

The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine.

Yukarıdaki hatayı aldığınızda büyük ihtimalle Microsoft Access 2007 veritabanına bağlanmaya çalışıyorsunuzdur. Sunucunuzda Access 2007 veritabanına bağlanmanız için gerekli olan Provider kurulu değil ise bu hata ile karşılaşabilirsiniz. Sunucunuza Oledb 12.0 prodiverını yükleyerek sorunsuz bir şekilde Access 2007 veritabanı ile çalışabilirsiniz.

İlgili providerı buraya tıklayarak Microsoft.com üzerinden indirebilirsiniz.

Sinan BOZKUŞ

Get in touch

Quickly communicate covalent niche markets for maintainable sources. Collaboratively harness resource sucking experiences whereas cost effective meta-services.