IIS 7, Framework 4.0 Bad Module Hatası Çözümü

Geçenlerde bir işim için gerektiğinden Visual Studio 2008 kurdum. Bu işlemin ardından IIS 7.5’daki Framework 4.0 projeleri düzgün çalışmamaya başladı. Onlardan birini çalıştırmaya çalışınca aşağıdaki bir hata almaya başladım.

HTTP Error 500.21 - Internal Server Error 
Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list.

İnternette biraz araştırma yaptıktan hatanın VS2008 kurulumunu Framework 4.0 konfigürasyonunun yarısını bozduğunu öğrendim. Bu hatayı Framework 4.0 kurulumunu onarak muhtemelen çözebilirsiniz*, bu onarımı aşağıdaki komutlardan bilgisayarınıza uygun olanını yönetici olarak başlatılmış bir komut satırında yazarak yapabilirsiniz:

x86 olarak kurulmuş Windows’ta:
%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /norestart
x64 olarak kurulmuş Windows’ta:
%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /norestart

Framework 4.0’ın kurulumu, onarımı ve başlangıç komutlarıyla ilgili ayrıntılı bilgi MSDN’de mevcut.Onarma yaklaşık bir kaç dakika sürecek. Onarma işlemi tamamlandıktan sonra IIS’i yeniden başlatın ve ardından sorununuzun çözülüp çözülmediğini kontrol edin. Sorun çözülmemişse; ASP .Net 4.0’ı tekrar IIS’e tanıtmak için aşağıdaki komutlardan size uygun olanını yönetici olarak başlatılmış bir komut satırında yazın:

x86 olarak kurulmuş Windows’ta:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe /i
x64 olarak kurulmuş Windows’ta:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe /i

Bu yöntemlerden ikinci “Handler ‘PageHandlerFactory-Integrated’ has a bad module ‘ManagedPipelineHandler’ in its module list.” hatasını düzeltti; ancak ilk önce ilkini çalıştırmanızı tavsiye ederim.

Windows Phone’da Bir DependencyProperty Değiştiğinde Haberdar Olma

WPF’de bir DependencyProperty’nin PropertyMetadata’sı üzerinde işlem yapmak istediğimizde DependencyPropertyDescriptor sınıfı hayatımızı kurtarırdı. Ancak bu sınıf Windows Phone’da yok. Bu çoğu zaman bunu hissetmezsiniz. Ancak ya bir DependencyProperty değiştiğinde haberdar olmanız gerekiyorsa?

Bunu bir hack yardımı ile yapabilirsiniz.

public static void Register(DependencyObject target, string propertyPath, DependencyPropertyChangedEventHandler dependencyPropertyChanged)
{
    Binding binding = new Binding(propertyPath) { Source = target };

    var property = DependencyProperty.RegisterAttached("_" + Guid.NewGuid().ToString("N"), typeof(object), typeof(DependencyObject),
        new PropertyMetadata
        (
            (o, e) =>
            {
                o.Dispatcher.BeginInvoke(() => dependencyPropertyChanged.Invoke(o, e));
            }
        )
    );

    BindingOperations.SetBinding(target, property, binding);
}

Örnek projeyi ve kodlara buradan ulaşabilirsiniz.

Bu yazı çok kısa oldu sanırım, daha sonra görüşmek üzere…

Windows Phone Emulator Tuşları

İstanbul’a döndüğüm gün, aynı zamanda yazılım geliştirme için kullandığım cihazın Unlock yıl dönümüydü. Cihazım, yeniden kilitlendi ve bir sorun nedeniyle kilidini açamıyorum. Bu nedenle emulatore mahkum oldum. İşin komik yanı, 14 aydır Windows 8 kullanıyorum. Emulator Windows 8’de çalışmadığından açıp bakma fırsatım olmamıştı.

Sonunda yeni çıkan güncellemeyle emulator artık Win8’de de çalışıyor. Açtım. İlk farkettiğim şey, emulator’de Ses açma / kapama, kamera ve kilitleme tuşlarının olmamasıydı. Projem gereği bir AudioPlayerAgent üzerinde çalıştığımdan bu tuşlara ihtiyacım vardı. Biraz araştırma sonucu bu tuşların ve daha fazlasının klavye kısayolları sayesinde kullanılabildiğini farkettim.

Bu kısayollar:

  • [F1]: Cihaz üzerindeki geri tuşu.
  • [F2]: Cihaz üzerindeki Windows Tuşu. Bu tuşu bir süre basılı tutmak sesle kontrol ve arama arayüzünü açar.
  • [F3]: Cihaz üzerindeki arama tuşu. Bing Search’ı açar.
  • [F6]: Cihaz üzerindeki kamera tuşu yarı basılı. Visual Studio 2010 Express for Windows Phone tarafından desteklenmez.
  • [F7]: Cihaz üzerindeki kamera tuş tam basılı. Visual Studio 2010 Express for Windows Phone tarafından desteklenmez.
  • [F9]: Sesi arttırma tuşu.
  • [F10]: Sesi azaltma tuşu. Ses arttırma ve azaltma tuşlarına basıldığında ekranın üst tarafında o anda çalan müziği durdurabileceğiniz, ileri ve geri alabileceğiniz; telefonu sesliye ya da titreşime alabileceğiniz bir arayüz açar.
  • [F11]: Müziği durdur / başlat tuşu. Bu tuşun cihaz üzerinde bulunması zorunlu değildir.
  • [Print Screen]: Cihaz üzerindeki aç/kapat tuşu. Visual Studio 2010 Express for Windows Phone tarafından desteklenmez.
  • [Page Up]: Donanımsal klavyeyi kullanıma açar.
  • [Page Down]: Donanımsal klavyeyi kullanıma kapatır. Donanımsal klavye, bazı telefon modellerinde bulunan bir klavye türüdür. Daha detaylı bilgi için ilgili MSDN makalesini okuyabilirsiniz.
  • [Sol CTRL]: FN tuşu. Bilgisayarınızdaki SHIFT tuşuna benzer bir işlem yapar. Donanımsal klavyenin tuşlarındaki ikincil tuşa geçer.
  • [Sağ CTRL]: Sembol klavyesini açar.
  • [Sol ALT]: Aksan tuşu. Üzerinde “ÄÉ” sembolu olan tuş.
  • [Sağ ALT]: Gülümseme klavyesini açar. Donanımsal klavyede üzerinde “:)” sembolu olan tuştur.

Bir sonraki yazıma kadar kendinize iyi bakın…

Sürüklenedururken

İstanbuldayım. İstanbul'da olmaktan ziyade artık yeniden bir İstanbulluyum. Artık buluşma planlarımı İstanbul içerisinde yapıyorum. Son yazı yazdığım günden bu yana dört ay geçmiş. Dört ay bir insanın hayatında büyük değişikler olması için yeterli sanırım.

Uludağ Üniversite'sini bıraktım. Artık öğrenci değilim. Bazı arkadaşlarım benle liseli diye alay etmeye bile başladı. İstanbuldayım ya, üniversite bakıyorum kendime. Bilgisayar Mühendisliği okuyacağım inşallah. Ufukta Fatih Üniversitesi gözüküyor; ama Özyeğin ya da Bahçeşehir de olabilir...

Uludağ Üniveristesi öğrencisi olarak son tatilime bismillah diyecetim ki tam; Osman hocam aradı. Tatil iyi değildir gel bizde çalışalım dedi; o günden beridir TCM'deyim. Ofis ortamını çok beğendim, bir önceki ofisimden sonra burası cennet gibi. Tabii hiçbir şey mükemmel değildir, Windows 8 ve Windows Phone geliştirme güzel ama Kinect, Kinect'i sormayın...

Artık İstanbulda olduğuma göre, daha sık yazacağım, bekleyin ;)

Hakkımda

Yazar, yazmadığı zamanlarda yazmayı özlemeyi sevmektedir. Elektronik Mühendisliğinde okusa da okulu uzatmış bulunmaktadır. IQ'sunu merak etmekle beraber, sizinkini daha çok merak etmektedir.