Azure App Service için bir ASP.NET uygulaması yapılandırma

ASP.NET uygulamalar, derlenmiş ikili dosyalar olarak Azure App Service dağıtılacak olmalıdır. Visual Studio yayımlama aracı çözümü oluşturur ve ardından derlenmiş ikilileri doğrudan dağıtır, ancak App Service dağıtım altyapısı önce kod deposunu dağıtır ve ikili dosyaları derler.

bu kılavuz ASP.NET geliştiricilere yönelik temel kavramlar ve yönergeler sağlar. Azure App Service hiç kullanmadıysanız, önce ASP.NET hızlı başlangıcı ve ASP.NET SQL Veritabanı öğreticisiyle izleyin.

desteklenen .NET Framework çalışma zamanı sürümlerini göster

App Service, Windows örneklerinde desteklenen tüm .NET Framework sürümleri zaten yüklü. kullanabileceğiniz .NET Framework çalışma zamanını ve SDK sürümlerini göstermek için, ' a gidin https://<app-name>.scm.azurewebsites.net/DebugConsole ve tarayıcı tabanlı konsolda uygun komutu ç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ılamıyor olabilir.

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 Shellaşağıdaki komutu çalıştırın:

az webapp config show --resource-group <resource-group-name> --name <app-name> --query netFrameworkVersion

bir değeri, v4.0 en son CLR 4 sürümünün (.NET Framework 4. x) kullanıldığı anlamına gelir. bir değeri, v2.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ü ayarla

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ı .NET Framework 3,5 kullanarak çalıştırmak için Cloud Shell aşağıdaki komutu çalıştırın (v 2.0, CLR 2 ' yi belirtir):

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, uygulama ayarlarınızı ve bağlantı dizelerini uygulama kodunuzun dışında ayarlayabilirsiniz . ardından, standart ASP.NET modelini kullanarak herhangi bir sınıfta bunlara erişebilirsiniz:

using System.Configuration;
...
// Get an app setting
ConfigurationManager.AppSettings["MySetting"];
// Get a connection string
ConfigurationManager.ConnectionStrings["MyConnection"];
}

App Service ve web.config aynı ada sahip bir uygulama ayarı yapılandırırsanız App Service değeri web.config değere göre önceliklidir. Yerel web.config değeri uygulamada yerel olarak hata ayıklamanıza olanak tanır, ancak App Service değeri, uygulamayı üretim ayarları ile birlikte çalıştırmaya olanak sağlar. Bağlantı dizeleri aynı şekilde çalışır. Bu şekilde, uygulamanızın gizli dizilerini kod deponuzun dışında tutabilir ve kodunuzda değişiklik yapmadan uygun değerlere erişebilirsiniz.

Çoklu proje çözümlerini dağıtma

bir Visual Studio çözümü birden çok proje içerdiğinde, Visual Studio yayımlama işlemi, dağıtılacak projeyi seçmeyi zaten içerir. Git ile gibi App Service dağıtım altyapısına dağıtırken veya derleme Otomasyonu etkin olanZIP dağıtımı ile, App Service dağıtım altyapısı, App Service uygulama olarak bulduğu Ilk Web sitesini veya Web uygulamasını seçer Project. Uygulama ayarını belirterek App Service hangi projenin kullanılması gerektiğini belirtebilirsiniz PROJECT . Örneğin, Cloud Shellaş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 sayfası al

ASP.NET uygulamanız Visual Studio hata ayıklayıcısında bir özel durum oluşturduğunda, tarayıcıda ayrıntılı bir özel durum sayfası görüntülenir, ancak bu sayfanın bir genel hata iletisiyle değiştirildiğini App Service. Ayrıntılı özel durum sayfasını App Service göstermek için Web.config dosyasını açın ve öğesini <customErrors mode="Off"/> öğesinin altına ekleyin <system.web> . Örnek:

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

Güncelleştirilmiş Web.config uygulamanızı yeniden dağıtın. Artık aynı ayrıntılı özel durum sayfasını görmeniz gerekir.

Tanılama günlüklerine erişim

System. Diagnostics. Tracekullanarak uygulama kodunuzda 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