Merhaba arkadaşlar,
Bu makalemizde sizlere Exchange Server 2010 yüklü sunucularımızda mobil cihazları yönetmek için kullanmak kullanabildiğimiz Exchange Server /ECP (Exchange Control Panel) web konsoluna erişirken yaşadığım bir sorunu ve bu soruna nasıl çözüm ürettiğimizi paylaşmak istiyorum.
Sorunu yaşadığım ortamdaki sunuculardan ve yazılımlar;
Sunucu İşletim Sistemi : Windows Server 2012 R2 Standart
Exchange Server : Exchange Server 2010 SP3 (UR6)
Sorunun Tanımı :
Mail server sunucusuna http://mailserver/ecp adresinde eriştiğimizde aşağıdaki resimdeki gibi (Üzgünüz! Şu anda istedğinizi işleme konusunda sorun yaşıyoruz. Lütfen birkaç dakika içinde yeniden deneyin.) hatası ile karşılaşıyorduk ve sayfaya erişip herhangi bir işlem yapamıyorduk.
Bu sunucu üzerindeki Event logları incelediğimizde /ECP sayfasına erişmeye çalıştığımızda Application logları içerisine Event ID 4 kodu ile erişim sorunu hatalarının düştüğünü gözlemledik.
Bu log dosyasının detaylarını incelendiğimizde log dosyasının içeriğinin bir kısmı aşağıdaki gibi gözükmekte idi.
Current user: ‘xxxxxxxx.com/domainname/User Name’
Request for URL ‘https://cassrv.xxxxxxx.com/ecp/PersonalSettings/Accounts.svc/GetList?msExchEcpCanary=vuL2gM9dyki3MfbWdlM58SZ6EzSjvNEIqKeOFc8rc9G-0kibYH6LLHiX8CnQUGqX9X6TOQ799eo.’ failed with the following error:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.TypeLoadException: Could not load type ‘System.ServiceModel.Activation.HttpHandler’ from assembly ‘System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’.
at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at System.Activator.CreateInstance(String assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
Sorunun Çözümü İçin Yapılanlar:
Internet üzerinde yaptığımız araştırmalarda en altta linkini paylaştığım adresteki arkadaşımız bu sorunun çözümü için IIS üzerinde Application Pools altında .NET v4.0 kullanarak çalışan MSExchangeAppPool ‘u .NET V2.0 ile çalıştırırsak sorunun düzeleceğini bildirmişti.
Sorun anında Application Pools \ MSExchangeECPAppPool aşağıdaki resimdeki gibi .NET v4.0 ile çalıştırılıyordu.
Bu Pool’ı aşağıdaki resimdeki gibi .NET v2.0 ile çalışması için ayarlayınız ve IIS servisini restart ediniz. Bu işlem için ms dos komut sistemini run as admin ile açıp aşağıdaki komutu kullanmanızı tavsiye ederim.
iisreset / restart
Daha sonra bu sayfaya erişmeyi denediğimizde /ECP sayfası erişiminin sorunsuz olarak çalıştığını gözlemledik.
Not : Bu benim ortamımdaki çözüm aynı event id ile aldığınız hatanın farklı sebepleri de olabilir. Bu tip çözümleri uygulamadan önce yedeklerinizi alıp çalışma yapmanızı tavsiye ederim.
Böyle duruma örnek olarak Davut EREN hocamızın aşağıdaki makalesini örnek olarak paylaşmak isterim aynı evet id nin farklı bir çözümüdür :
Faydası olması dileklerimle.
Yararlanılan Ingilizce Kaynak:
http://theyouri.blogspot.com.tr/2013/02/exchange-2010-ecp-event-id-4.html