Merhaba arkadaşlar,

Bu makalemde sizlere Exchange Server 2010 yüklü sunucularımızda mobil cihazları yönetmek için 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.

ECPHata_01

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.

 ECPHata_02

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.

ECPHata_03

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

 ECPHata_04

Daha sonra bu sayfaya erişmeyi denediğimizde /ECP sayfası erişiminin sorunsuz olarak çalıştığını gözlemledik.

ECPHata_05

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 :

http://social.technet.microsoft.com/wiki/contents/articles/22456.exchange-server-2010-ecp-giris-hatasinin-cozumu-tr-tr.aspx

Faydası olması dileklerimle.

Yararlanılan Ingilizce Kaynak:

http://theyouri.blogspot.com.tr/2013/02/exchange-2010-ecp-event-id-4.html