Azure App Service için ASP.NET uygulaması yapılandırma
Not
ASP.NET Core için bkz. Azure App Service için ASP.NET Core uygulaması yapılandırma. ASP.NET uygulamanız özel bir Windows veya Linux kapsayıcısında çalışıyorsa bkz. Azure App Service için özel kapsayıcı yapılandırma.
ASP.NET uygulamaların derlenmiş ikili dosyalar olarak Azure App Service dağıtılması gerekir. Visual Studio yayımlama aracı çözümü oluşturur ve sonra derlenmiş ikili dosyaları doğrudan dağıtırken, App Service dağıtım altyapısı önce kod deposunu dağıtır ve ardından ikili dosyaları derler.
Bu kılavuz, ASP.NET geliştiriciler için temel kavramlar ve yönergeler sağlar. Azure App Service hiç kullanmadıysanız, önce ASP.NET hızlı başlangıcı izleyin ve SQL Veritabanı öğreticiyle ASP.NET.
Desteklenen .NET Framework çalışma zamanı sürümlerini göster
App Service'da Windows örneklerinde desteklenen tüm .NET Framework sürümleri zaten yüklüdür. Kullanabileceğiniz .NET Framework çalışma zamanını ve SDK sürümlerini göstermek için tarayıcı https://<app-name>.scm.azurewebsites.net/DebugConsole
tabanlı konsolda uygun komutu bulun ve çalıştırın:
CLR 4 çalışma zamanı sürümleri için (.NET Framework 4 ve üzeri):
ls "D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework"
En son .NET Framework sürümü hemen kullanılamayabilir.
CLR 2 çalışma zamanı sürümleri için (.NET Framework 3.5 ve altı):
ls "D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework"
Geçerli .NET Framework çalışma zamanı sürümünü göster
Cloud Shell aşağıdaki komutu çalıştırın:
az webapp config show --resource-group <resource-group-name> --name <app-name> --query netFrameworkVersion
değeriv4.0
, en son CLR 4 sürümünün (.NET Framework 4.x) kullanıldığı anlamına gelir. değeriv2.0
, CLR 2 sürümünün (.NET Framework 3.5) kullanıldığı anlamına gelir.
.NET Framework çalışma zamanı sürümünü ayarlama
varsayılan olarak App Service, ASP.NET uygulamanızı çalıştırmak için desteklenen en son .NET Framework sürümünü kullanır. Uygulamanızı bunun yerine .NET Framework 3.5 kullanarak çalıştırmak için Cloud Shell aşağıdaki komutu çalıştırın (v2.0, CLR 2'yi gösterir):
az webapp config set --resource-group <resource-group-name> --name <app-name> --net-framework-version v2.0
Ortam değişkenlerine erişme
App Service'da uygulama kodunuzun dışında uygulama ayarlarını ve bağlantı dizelerini ayarlayabilirsiniz. Ardından standart ASP.NET desenini kullanarak bunlara herhangi bir sınıfta erişebilirsiniz:
using System.Configuration;
...
// Get an app setting
ConfigurationManager.AppSettings["MySetting"];
// Get a connection string
ConfigurationManager.ConnectionStrings["MyConnection"];
}
App Service veweb.configiçinde aynı ada sahip bir uygulama ayarı yapılandırırsanız, App Service değeri web.config değerinden önceliklidir. Yerel web.config değeri uygulamada yerel olarak hata ayıklamanıza olanak tanır, ancak App Service değeri uygulamanızı üretim ayarlarıyla üründe çalıştırmanıza olanak tanır. Bağlantı dizeleri aynı şekilde çalışır. Bu şekilde uygulama gizli dizilerinizi kod deponuzun dışında tutabilir ve kodunuzu değiştirmeden uygun değerlere erişebilirsiniz.
Çok projeli çözümleri dağıtma
Bir Visual Studio çözümü birden çok proje içerdiğinde, Visual Studio yayımlama işlemi zaten dağıtılacak projeyi seçmeyi içerir. Git gibi App Service dağıtım altyapısına veya derleme otomasyonu etkin zip dağıtımıyla dağıtım yaptığınızda, App Service dağıtım altyapısı App Service uygulaması olarak bulduğu ilk Web Sitesini veya Web Uygulaması Projesini seçer. Uygulama ayarını belirterek PROJECT
hangi proje App Service kullanılacağını belirtebilirsiniz. Örneğin, Cloud Shell aşağıdakileri çalıştırın:
az webapp config appsettings set --resource-group <resource-group-name> --name <app-name> --settings PROJECT="<project-name>/<project-name>.csproj"
Ayrıntılı özel durumları alma sayfası
ASP.NET uygulamanız Visual Studio hata ayıklayıcısında bir özel durum oluşturduğunda, tarayıcı ayrıntılı bir özel durum sayfası görüntüler, ancak App Service bu sayfa genel bir hata iletisiyle değiştirilir. ayrıntılı özel durum sayfasını App Service görüntülemek için Web.config dosyasını açın ve öğesini öğesinin <system.web>
altına ekleyin<customErrors mode="Off"/>
. Örnek:
<system.web>
<customErrors mode="Off"/>
</system.web>
Uygulamanızı güncelleştirilmiş Web.configile yeniden dağıtın. Şimdi aynı ayrıntılı özel durum sayfasını görmeniz gerekir.
Tanılama günlüklerine erişim
System.Diagnostics.Trace kullanarak uygulama kodunuza tanılama iletileri ekleyebilirsiniz. Örnek:
Trace.TraceError("Record not found!"); // Error trace
Trace.TraceWarning("Possible data loss"); // Warning trace
Trace.TraceInformation("GET /Home/Index"); // Information trace
App Service’te uygulama kodunuzun içinden oluşturulan konsol günlüklerine erişmek için şu komutu Cloud Shell’de çalıştırarak tanılama günlüğüne kaydetmeyi açın:
az webapp log config --resource-group <resource-group-name> --name <app-name> --docker-container-logging filesystem --level Verbose
--level
için olası değerler: Error
, Warning
, Info
ve Verbose
. Her düzey kendisinden önceki düzeyi içerir. Örneğin: Error
yalnızca hata iletilerini içerir, Verbose
ise tüm iletileri içerir.
Tanılama günlüğüne kaydetme açıldıktan sonra günlük akışını görmek için şu komutu çalıştırın:
az webapp log tail --resource-group <resource-group-name> --name <app-name>
Konsol günlüklerini hemen görmüyorsanız, 30 saniye içinde yeniden kontrol edin.
Not
Ayrıca, tarayıcıdan https://<app-name>.scm.azurewebsites.net/api/logs/docker
adresine giderek günlük dosyalarını inceleyebilirsiniz.
Günlük akışını dilediğiniz zaman durdurmak için Ctrl
+C
yazın.
Diğer kaynaklar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin