Başlatılamayan Azure Bulut Hizmeti (klasik) rolleriyle ilgili sorunları giderme

Önemli

Cloud Services (klasik) artık yeni müşteriler için kullanımdan kaldırılmıştır ve tüm müşteriler için 31 Ağustos 2024'te kullanımdan kaldırılacaktır. Yeni dağıtımlarda yeni Azure Resource Manager tabanlı dağıtım modeli Azure Cloud Services (genişletilmiş destek) kullanılmalıdır.

Aşağıda, başlatılamayan Azure Cloud Services rolleriyle ilgili bazı yaygın sorunlar ve çözümleri bulabilirsiniz.

Azure sorununuz bu makalede ele alınmıyorsa Microsoft Q & A ve Stack Overflow'daki Azure forumlarını ziyaret edin. Sorununuzu bu forumlara gönderebilir veya Twitter'da @AzureSupport gönderebilirsiniz. Ayrıca bir Azure desteği isteği gönderebilirsiniz. Destek isteği göndermek için Azure desteği sayfasında Destek al'ı seçin.

Eksik DLL'ler veya bağımlılıklar

Başlatma, Meşgul ve Durdurulma durumları arasında döngüde olan yanıt vermeyen roller ve roller eksik DLL'ler veya derlemeler nedeniyle oluşabilir.

Eksik DLL'lerin veya derlemelerin belirtileri şunlar olabilir:

  • Rol örneğiniz Başlatma, Meşgul ve Durduruluyor durumlarını döngüye alıyor.
  • Rol örneğiniz Hazır'a taşındı, ancak web uygulamanıza giderseniz sayfa görünmez.

Bu sorunları araştırmak için önerilen birkaç yöntem vardır.

Web rolünde eksik DLL sorunlarını tanılama

Bir web rolünde dağıtılan bir web sitesine gittiğinizde ve tarayıcı aşağıdakine benzer bir sunucu hatası görüntülendiğinde, bir DLL'nin eksik olduğunu gösterebilir.

Server Error in '/' Application.

Özel hataları kapatarak sorunları tanılama

Özel hata modunu Kapalı olarak ayarlamak ve hizmeti yeniden dağıtmak üzere web rolü için web.config yapılandırılarak daha eksiksiz hata bilgileri görüntülenebilir.

Uzak Masaüstü kullanmadan daha eksiksiz hataları görüntülemek için:

  1. Çözümü Microsoft Visual Studio'da açın.

  2. Çözüm Gezgini web.config dosyasını bulun ve açın.

  3. web.config dosyasında system.web bölümünü bulun ve aşağıdaki satırı ekleyin:

    <customErrors mode="Off" />
    
  4. Dosyayı kaydedin.

  5. Hizmeti yeniden paketleyip yeniden dağıtın.

Hizmet yeniden dağıtıldıktan sonra eksik derlemenin veya DLL'nin adını içeren bir hata iletisi görürsünüz.

Hatayı uzaktan görüntüleyerek sorunları tanılama

Role erişmek ve daha eksiksiz hata bilgilerini uzaktan görüntülemek için Uzak Masaüstü'nü kullanabilirsiniz. Uzak Masaüstü'nü kullanarak hataları görüntülemek için aşağıdaki adımları kullanın:

  1. Azure SDK 1.3 veya üzerinin yüklü olduğundan emin olun.
  2. Visual Studio kullanarak çözümün dağıtımı sırasında Uzak Masaüstü'nü etkinleştirin. Daha fazla bilgi için bkz. Visual Studio kullanarak Azure Cloud Services'da rol için Uzak Masaüstü Bağlan'nı etkinleştirme.
  3. Microsoft Azure portalında, örnek Hazır durumunu gösterdikten sonra örneğe uzak olarak gidin. Uzak masaüstünü Cloud Services ile kullanma hakkında daha fazla bilgi için bkz . Rol örneklerine uzaktan erişim.
  4. Uzak Masaüstü yapılandırması sırasında belirtilen kimlik bilgilerini kullanarak sanal makinede oturum açın.
  5. Komut penceresi açın.
  6. IPconfig yazın.
  7. IPV4 Adresi değerini not edin.
  8. Internet Explorer açın.
  9. Web uygulamasının adresini ve adını yazın. Örneğin, http://<IPV4 Address>/default.aspx.

Web sitesine gitmek artık daha açık hata iletileri döndürecektir:

  • '/' Uygulamasında Sunucu Hatası.
  • Açıklama: Geçerli web isteğinin yürütülmesi sırasında işlenmeyen bir özel durum oluştu. Hata ve kodun kaynağı hakkında daha fazla bilgi için lütfen yığın izlemesini gözden geçirin.
  • Özel Durum Ayrıntıları: System.IO.FIleNotFoundException: 'Microsoft.WindowsAzure dosyası veya derlemesi yüklenemedi. Depolama Client, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf856ad364e35' veya bağımlılıklarından biri. Sistem belirtilen dosyayı bulamıyor.

Örneğin:

Explicit Server Error in '/' Application

İşlem öykünücüsü kullanarak sorunları tanılama

Eksik bağımlılıklar ve web.config hatalarıyla ilgili sorunları tanılamak ve gidermek için Microsoft Azure İşlem Öykünücüsü'ni kullanabilirsiniz.

Bu tanılama yönteminin kullanılmasıyla ilgili en iyi sonuçlar için temiz bir Windows yüklemesine sahip bir bilgisayar veya sanal makine kullanmanız gerekir. Azure ortamının en iyi benzetimini yapmak için Windows Server 2008 R2 x64 kullanın.

  1. Azure SDK'nın tek başına sürümünü yükleyin.
  2. Geliştirme makinesinde bulut hizmeti projesini oluşturun.
  3. Windows Gezgini'nde bulut hizmeti projesinin bin\debug klasörüne gidin.
  4. .csx klasörünü ve .cscfg dosyasını, sorunlarda hata ayıklamak için kullandığınız bilgisayara kopyalayın.
  5. Temiz makinede bir Azure SDK Komut İstemi penceresi açın ve yazın csrun.exe /devstore:start.
  6. Komut istemine yazın run csrun <path to .csx folder> <path to .cscfg file> /launchBrowser.
  7. Rol başladığında, Internet Explorer'da ayrıntılı hata bilgilerini görürsünüz. Sorunu daha fazla tanılamak için standart Windows sorun giderme araçlarını da kullanabilirsiniz.

IntelliTrace kullanarak sorunları tanılama

.NET Framework 4 kullanan çalışan ve web rolleri için, Microsoft Visual Studio Enterprise'da bulunan IntelliTrace'i kullanabilirsiniz.

Hizmeti IntelliTrace etkin olarak dağıtmak için şu adımları izleyin:

  1. Azure SDK 1.3 veya üzerinin yüklü olduğunu onaylayın.
  2. Visual Studio kullanarak çözümü dağıtın. Dağıtım sırasında . NET 4 rolleri için IntelliTrace'i etkinleştir onay kutusunu işaretleyin.
  3. Örnek başlatıldıktan sonra Sunucu Gezgini'ni açın.
  4. Azure\Cloud Services düğümünü genişletin ve dağıtımı bulun.
  5. Rol örneklerini görene kadar dağıtımı genişletin. Örneklerden birine sağ tıklayın.
  6. IntelliTrace günlüklerini görüntüle'yi seçin. IntelliTrace Özeti açılır.
  7. Özetin özel durumlar bölümünü bulun. Özel durumlar varsa, bölüm Özel Durum Verileri olarak etiketlenir.
  8. Özel Durum Verilerini genişletin ve aşağıdakine benzer System.IO.FileNotFoundException hataları arayın:

Exception data, missing file, or assembly

Eksik DLL'leri ve derlemeleri adresle

Eksik DLL ve derleme hatalarını gidermek için şu adımları izleyin:

  1. çözümünü Visual Studio’da açın.
  2. Çözüm Gezgini'da Başvurular klasörünü açın.
  3. Hatada tanımlanan derlemeye tıklayın.
  4. Özellikler bölmesinde Yereli Kopyala özelliğini bulun ve değeri True olarak ayarlayın.
  5. Bulut hizmetini yeniden dağıtın.

Tüm hataların düzeltildiğini doğruladıktan sonra, .NET 4 rolleri için IntelliTrace'i etkinleştir onay kutusunu işaretlemeden hizmeti dağıtabilirsiniz.

Sonraki adımlar

Bulut hizmetleri için diğer sorun giderme makalelerini görüntüleyin.

Azure PaaS bilgisayar tanılama verilerini kullanarak bulut hizmeti rolü sorunlarını gidermeyi öğrenmek için Kevin Williamson'ın blog serisine bakın.