İçeriğe geç

Ürün belgeleriWindows hosting

Windows hostingde ASP.NET ve IIS hatalarını düzeltin

Windows hostingde ASP.NET hatalarının nedenini bulun: 500.xx alt kodunu okuyun, ASP.NET Core stdout kaydını açın, web.config ve SQL Server hatalarını düzeltin.

  • Orta
  • 20 dk okuma
  • Güncellendi
Bu sayfada
  1. 1. adım: Tam kodu not alın
  2. 500.19: yapılandırma verisi geçersiz
  3. 500.30, 500.31 ve 502.5: uygulama başlamıyor (ASP.NET Core)
  4. 403.14 Forbidden: klasör listeleme reddedildi
  5. SQL Server: "The certificate chain was issued by an authority that is not trusted"
  6. Sonraki adımlar

Windows hostingde siteniz IIS üzerinde çalışır. Bir istek başarısız olduğunda IIS, noktadan sonra bir alt kod taşıyan bir HTTP durumu gösterir; örneğin 500.19 veya 500.30. Bu alt kod nereye bakacağınızı söyler. Bu rehber en sık karşılaşılan kodları ve ayrıntıların nasıl okunacağını anlatır.

1. adım: Tam kodu not alın

Hatalı sayfayı açın ve tam kodu ve varsa HRESULT değerini (örneğin 0x8007000d) not alın. Ardından ayrıntıları görünür hale getirin:

ASP.NET Core

  1. httpdocs içinde logs adlı bir klasör oluşturun.
  2. web.config içinde aspNetCore öğesinde stdoutLogEnabled="true" ve stdoutLogFile=".\logs\stdout" değerlerini ayarlayın:
XML
<aspNetCore processPath="dotnet"
      arguments=".\MyApp.dll"
      stdoutLogEnabled="true"
      stdoutLogFile=".\logs\stdout" />
  1. Sayfayı yeniden yükleyin ve logs içindeki en yeni stdout_….log dosyasını açın.
  2. İşiniz bitince stdoutLogEnabled="false" değerini yeniden ayarlayın.

ASP.NET (.NET Framework)

ASP.NET'in tam hatayı göstermesi için özel hataları kısa süreliğine kapatın. Plesk'te alan adının ASP.NET Settings bölümünü kullanın veya bunu web.config içinde ayarlayın:

XML
<system.web>
  <customErrors mode="Off" />
</system.web>

Mesajı alır almaz değeri yeniden RemoteOnly veya On yapın: ayrıntılar herkese görünür.

500.19: yapılandırma verisi geçersiz

IIS web.config dosyasını okuyamıyor. HRESULT nedeni gösterir:

HRESULTNedenÇözüm
0x8007000dBozuk XML veya sunucuda olmayan bir modüle ait bölüm (ASP.NET Core için: sürümünüzün hosting paketi)Hatada belirtilen satırı kontrol edin; gerekmeyen bölümleri kaldırın; .NET sürümünü bize sorun
0x80070021Bölüm sunucu düzeyinde kilitli ve web.config içinde ayarlanamıyorO bölümü web.config dosyasından kaldırın veya ayarın sizin için değiştirilip değiştirilemeyeceğini bize sorun
0x800700b7Daha üst düzeyde zaten tanımlı bir ayar için yinelenen girişYinelenen girişi web.config dosyanızdan kaldırın
0x80070003IIS sitenin yolundaki yapılandırma dosyasını okuyamıyorweb.config dosyasının httpdocs içinde olduğundan emin olun

500.30, 500.31 ve 502.5: uygulama başlamıyor (ASP.NET Core)

  • 500.31 Failed to Find Native Dependencies: uygulamanızın hedeflediği .NET çalışma zamanı sunucuda kurulu değil. Sunucuda bulunan bir sürümü hedefleyin veya self-contained yayımlayın. Hangi sürümlerin bulunduğunu bize sorun.
  • 500.30 In-Process Startup Failure: uygulama başlarken hata veriyor. stdout kaydı istisnayı gösterir; çoğu zaman eksik bir ayar veya başlangıçta başarısız olan bir veritabanı bağlantısıdır.
  • 502.5 Process Failure: uygulamanın işlemi başlamıyor; çoğu zaman 500.31 ile aynı nedenle.
  • 500.32 Failed to Load dll: uygulama farklı bir işlemci mimarisi için yayımlandı (örneğin 64 bite karşı 32 bit). Çalışma zamanı tanımlayıcısı olmadan, framework-dependent olarak yeniden yayımlayın.

403.14 Forbidden: klasör listeleme reddedildi

IIS ne bir uygulama ne de bir varsayılan sayfa buldu. Genellikle yayın eksiktir: dosyalar yanlış klasördedir, bazıları kopyalanmamıştır veya web.config eksiktir. Yayımlama çıktısının tamamını httpdocs içine yükleyin.

SQL Server: "The certificate chain was issued by an authority that is not trusted"

Microsoft.Data.SqlClient 4.0'dan beri bağlantılar varsayılan olarak şifrelenir ve sürücü sunucunun sertifikasını denetler. Uygulamanız sertifikayı doğrulayamazsa bağlantı bu mesajla başarısız olur.

  • Sunucunuz için önerilen bağlantı ayarlarını bir destek talebiyle bize sorun.
  • Şifreli ama sertifikayı denetlemeden bağlanmak için bağlantı dizesine TrustServerCertificate=True ekleyin. Microsoft bunun bağlantıyı araya girme saldırılarına açık bıraktığını belirtir; bunu geçici bir adım olarak görün.

Login failed for user. Bağlantı dizesindeki kullanıcı adı veya şifre Plesk'teki veritabanı kullanıcısıyla eşleşmiyor ya da kullanıcı o veritabanına atanmamış. Plesk'te kullanıcı için yeni bir şifre belirleyin ve bağlantı dizesini güncelleyin.

Sonraki adımlar

Sık sorulan sorular

Neden yalnızca genel bir hata sayfası görüyorum?

IIS ve ASP.NET hata ayrıntılarını ziyaretçilerden bilerek gizler. Gerçek mesajı görmek için stdout kaydını (ASP.NET Core) kullanın veya özel hataları kısa süreliğine kapatın (ASP.NET).

Uygulama bilgisayarımda çalışıyor ama hostingde çalışmıyor. Neden?

Çoğu zaman sunucudaki .NET sürümü hedeflediğinizden farklıdır, bağlantı dizesi gibi bir ayar hâlâ bilgisayarınızı gösterir ya da yüklemede bir dosya eksiktir.

Windows olay günlüğünü veya IIS Manager'ı görebilir miyim?

Paylaşımlı Windows hostingde hayır; sunucuyu biz yönetiriz. Plesk, sitenizin web sunucusu kayıtlarını Logs altında gösterir. Daha fazlası için başarısız isteğin saatini ve adresini bir destek talebiyle bize gönderin.

stdout kaydını açık bırakabilir miyim?

Hayır. Microsoft, kaydın boyut sınırı olmadığını ve diski doldurabileceğini belirtir. Bir sorunu bulmak için açın, ardından yeniden kapatın.

Şifre Oluştur

Lütfen onaylayın