ASPNET Web Api
Microsoft ASP.NET Web API
Tanım
ASP.NET Web Api projesi uygulama katmanını oluşturur ve Controllerları içerir.
Uygulama katmanı iş kararı vermez, görevi istemcilerin isteklerini iş katmanına iletmek ve iş katmanı sonuçlarını istemciye iletmektir.
ServiceRequest ve ServiceResult
Servis istekleri ve sonuçları için özel sınıflar oluşturulur.
Bu sınıflar için
ServiceModel
adlı bir proje oluşturulur. Bu proje NuGet paketi ile istemcilere kullandırılır.
ServiceResult
Api uygulamalarında ServiceResult sınıfı iş katmanında kullanılan ServiceResult'tan daha detaylıdır ve hata kodu değeri de içerir. Aşağıdaki örnek temel ServiceResult sınıfı gösterilmiştir.
Controller
Controllerlar ASP.NET MVC uygulamalarındakine benzer bir yapıyla oluşturulur.
İlk adımda isteğin geçerliliğini kontrol eder, istek geçersizse bu durumu belirten bir servis sonucu döndürür.
İstek geçerliyse iş katmanındaki ilgili metot çağrılır ve sonucu döndürülür.
Validasyon
Servis isteklerinin validasyonu bu katmanda yapılır ve genelde geçerlilik ihlalini belirten "Geçersiz istek" hatası döndürülür.
Validasyon için
IRequestValidator
arayüzü kullanılır. Bu arayüzün implementasyonu olanRequestValidator
sınıfı ilgili FluentValidator'ın kullanılmasını ve veri geçerlilik kontrolünün gerçekleştirilmesini sağlar.
HealthCheck
Api uygulamalarında servisin durumunu ve versiyonunu döndüren metotlar standart olarak oluşturulur. Bu metotların adresi aşağıdaki gibidir:
/health
/version
Web Publish konfigürasyonları
Konfigürasyonların tanımlanması için bkz: Visual Studio Derleme ve Yayınlama Konfigürasyonu
Uygulama geliştirme ortamında çalışırken Local
ortamını kullanır.
Uygulamanın publish işlemi belirlenen ortamlara göre ayrı ayrı yapılabilir.
Dev
Test
PreProd
Prod
Konfigürasyona göre web.config
dosyasının transform dosyası kullanılarak web.config dosyası oluşturulur. Local ortam için transform dosyası oluşturmak gerekmez. web.config
dosyasının içerdiği değerler Local
ortamı temsil edecek şekilde tanımlanır.
Konfigürasyona göre web.config
dosyası aşağıdaki ayar dosyalarını, seçilen ortama göre kullanacak şekilde oluşturulur.
AppSettings.config
ConnectionStrings.config
log4net.config
Bu ayar dosyaları /Config
dizini altında bulunan ortam dizinlerinde bulunur.
Config/Local
Config/Dev
Config/Test
Config/PreProd
Config/Prod
Bu nedenle bu dosyalarda yapılan değişikler / eklemeler / çıkarmalar tüm ortamlardaki kopyalarına yansıtılmalıdır.
Publish edilen ortama göre, Config dizini altındaki diğer ortam dizinleri ve dosyaları silinmelidir.
Last updated
Was this helpful?