Uygulama geliştirme sürecinde test, geliştirme ve üretim gibi farklı ortamlar için farklı IP adresleri veya endpoint’lerin yönetilmesi gereklidir. Her ortamın kendine özgü ayarları ve endpoint bilgileri olabilir. Örneğin, geliştirme ortamında “testservis”, üretim ortamında ise “prodservis” gibi farklı IP’ler kullanılabilir. Manuel olarak bu bilgileri her yayınlamada değiştirmek yerine, otomatik olarak ortam bilgisine göre bu ayarların yapılmasını sağlamak mümkündür. Kuika platformunda bu yönetimi daha etkili hale getirmek ve manuel değişiklikleri ortadan kaldırmak için konfigürasyon dosyalarından yararlanabilirsiniz. Bu eğitim içeriğinde, farklı ortamlar için konfigürasyon yönetimi ve appsetting.json dosyasından veri okuma süreçlerini nasıl yöneteceğinizi öğreneceksiniz.
Farklı ortamlar için endpoint yönetimi yapmak amacıyla Kuika’nın sağladığı “appsetting.json” dosyasını kullanabilirsiniz. Bu dosyada her ortam için farklı verileri tutabilir ve uygulamanız çalışırken bu ayarları dinamik olarak kullanabilirsiniz.
Adım 1: Ortamlarınızı Tanımlayın
Uygulamanızın test, geliştirme ve üretim ortamları gibi farklı ortamlarda çalışıyorsa, bu ortamlar için farklı IP adresleri veya endpoint’ler kullanmanız gerekebilir. Bu manuel işlem sürecini azaltmak için ortam bazlı ayarları otomatik hale getirmek önemlidir.
Adım 2: Appsetting.json Dosyasını Yapılandırın
Kuika platformunda her ortam için endpoint veya Ip adreslerini saklamak için “appsettings.json” dosyasını kullanabilirsiniz. Her ortam için farklı verileri tutarak, manuel değişiklik yapmanıza gerek kalmadan uygulamanız bu ayarları kullanabilir.
Örneğin, test, geliştirme ve üretim ortamları için aşağıdaki formatta veri tutabilirsiniz.
"MySettings": { "TestVar": "Test Environment", "DevVar": "Development Environment", "ProdVar": "Production Environment"
Uygulamanız bu verileri ortam koşullarına göre otomatik olarak kullanır. Böylelikle her yeni yayınlamada manuel değişiklik yapmanıza gerek kalmaz.
Adım 3: Ortam Bilgisine Göre Veri Okuma
Farklı ortamlardaki verileri uygulamanızda dinamik olarak okumak için aşağıdaki “Custom C#” kod yapısını kullanabilirsiniz.
C# veri kaynağını kullanmak için aşağıdaki adımları takip edebilirsiniz:
Bu kod yapısında, uygulamanızın çalıştığı ortamın bilgilerini “appsetting.json” dosyasından çekerek doğru endpoint’i kullanabilir. Böylece manuel işlem gereksinimi ortadan kalkar.
using Kuika.Common.Attributes; using Kuika.Common.Enums; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Text.Json.Serialization; using System.Threading.Tasks; using RestSharp; using System.Data; using Microsoft.Data.SqlClient; using System.Linq; using Kuika.Common.Helpers; namespace Kuika.ThirdPartyApisCollection { public class GetVariableClass { public static string GetVariable() { var variable = ConfigurationHelper.GetEnvinronmentOrAppSettings<MySettings>("testVar"); //appsettings.json züerinden veri okuma. return variable.TestVar; } } [KSettingSectionName("MySettings")] //appsettings.json içerisinde tutacağınız ana objenin ismi public class MySettings { [JsonProperty("testVar")] //appsettings.json üzerinde tuttuğunuz ana objenin içerisindeki değişkenin ismi [JsonPropertyName("testVar")] [DefaultValue(null)] public string TestVar { get; set; } //değişken değeri } }
Adım 4: Ortam Bilgisine Göre Otomatik Veri Kullanımı
Uygulamanızın hangi ortamda çalıştığını belirleyip ilgili ayarları kullanmak için yukarıdaki kodu kullanabilirsiniz. “Get Variable ()” fonksiyonu, uygulamanın bulunduğu ortama göre “appsettings.json” içindeki verileri okuyarak gerekli IP ve endpoint değerini alır.
Adım 5: Yayınlama Sürecinde Kolaylık
Bu yapı sayesinde her yayın öncesinde farklı ortamlar için IP veya endpoint bilgilerini manuel olarak değiştirmek zorunda kalmazsınız. Uygulama, ortam bilgisine göre doğru ayarları otomatik olarak kullanır.
Bu kılavuzda, Kuika platformunda farklı ortamlar için konfigürasyon yönetimi ve appsettings.json dosyasından veri okuma süreçlerini nasıl yöneteceğinizi adım adım öğrenmiş oldunuz.