WebSDK 1.0.5
See the version list below for details.
dotnet add package WebSDK --version 1.0.5
NuGet\Install-Package WebSDK -Version 1.0.5
<PackageReference Include="WebSDK" Version="1.0.5" />
<PackageVersion Include="WebSDK" Version="1.0.5" />
<PackageReference Include="WebSDK" />
paket add WebSDK --version 1.0.5
#r "nuget: WebSDK, 1.0.5"
#:package WebSDK@1.0.5
#addin nuget:?package=WebSDK&version=1.0.5
#tool nuget:?package=WebSDK&version=1.0.5
WebSDK Projesi Detaylı İncelemesi
Bu belge, WebSDK projesinin yapısını, ana işlevlerini ve önemli bileşenlerini detaylı bir şekilde açıklamaktadır.
1. Proje Genel Bakışı
WebSDK, .NET 8.0 hedef çerçevesini kullanan bir kütüphane veya web uygulamasıdır. DevSDK ve Rotativa.AspNetCore gibi dış bağımlılıkları kullanarak çeşitli web tabanlı işlevsellikler sunar. Proje, modüler bir yapıya sahiptir ve güvenlik, yerelleştirme (çoklu dil desteği), form yönetimi ve UI bileşenleri gibi temel alanlara odaklanmıştır.
- Paket Kimliği (PackageId):
WebSDK - Sürüm (Version):
1.0.0 - Yazarlar (Authors): Veli Filiz
- Şirket (Company): Veli Filiz
- Lisans (License): MIT
- Depo (Repository):
https://github.com/velifiliz - Hedef Çerçeve (Target Framework):
net8.0
2. Temel Bileşenler ve İşlevler
2.1. register.cs - Servis Kayıt ve Uygulama Yapılandırması
Bu dosya, uygulamanın başlangıç ayarlarını ve bağımlılık enjeksiyonuna (DI) servislerin eklenmesini yönetir. Aynı zamanda HTTP isteği işleme hattını (middleware pipeline) yapılandırır.
AddWebCoreServices:- Log servisleri ve özel CORS (Cross-Origin Resource Sharing) ayarları ekler.
- Cookie tabanlı kimlik doğrulama yapılandırır. Giriş ve erişim engellenen sayfalar
/loginolarak ayarlanmıştır. Çerez adıCookieAppNameayarından alınır ve çerezler 30 gün boyunca geçerlidir. - Yetkilendirme servisini etkinleştirir.
- FluentValidation entegrasyonu için isteğe bağlı bir bölüm içerir (şu an yorum satırında).
UseWebCoreServices:- Statik dosyaların (
wwwrootklasöründeki) sunumunu ve routing'i etkinleştirir. - PDF oluşturma kütüphanesi
Rotativa.AspNetCore'u yapılandırır. - Yetkilendirme ve özel CORS middleware'lerini kullanır.
- Her HTTP isteğinde kullanıcının dil tercihini (çerezlerden okunur) ayarlayan özel bir middleware içerir. Varsayılan dil
tr-TR'dir.
- Statik dosyaların (
2.2. global.cs - Global Using Direktifleri
Projeler arası kod tekrarını azaltmak için sık kullanılan isim alanlarını (namespaces) global olarak tanımlar. Bu sayede, bu isim alanları diğer kod dosyalarında her seferinde using direktifi yazılmadan kullanılabilir. Başlıca DevSDK ile ilgili isim alanları ve ASP.NET Core MVC, kimlik doğrulama, HTTP bağlamı, yansıma ve JSON serileştirme ile ilgili temel isim alanları burada yer alır.
2.3. Language.cs - Çoklu Dil Desteği (Localization)
Uygulamanın çoklu dil desteğini yöneten statik bir sınıftır.
- Çevirileri bellekte önbellekler (
_cache) ve performans optimizasyonu sağlar. ResetCache()metodu ile önbelleği temizleme olanağı sunar.Key(string key)metodu, verilen anahtara göre geçerli kültür için çeviriyi getirir. Anahtar bulunamazsa, anahtarın kendisi döndürülür.- Çeviriler,
wwwroot/languages/{culture}.jsonyolundaki JSON dosyalarından yüklenir. Eğer kültüre özel dosya yoksatr-TR.jsonvarsayılan olarak kullanılır. - İç içe geçmiş anahtarları (
"Anahtar.AltAnahtar") destekler. GetCurrentCulture()metodu, mevcut kullanıcı arayüzü kültürünü alır; geçersiz veya boş isetr-TRdöndürür.
2.4. Common/ Dizini - Ortak Yardımcı Sınıflar
Uygulama genelinde kullanılan temel sınıfları ve yardımcı yapıları barındırır:
BaseViewComponent.cs: Görünüm bileşenleri için temel sınıf.BaseController.cs: Denetleyiciler için temel sınıf.UserPerms.cs: Kullanıcı izinleriyle ilgili tanımlamalar.UserRole.cs: Kullanıcı rolleriyle ilgili tanımlamalar.BaseTableFilter.cs: Temel tablo filtreleme mantığı.
2.5. Attributes/ Dizini - Özel Öznitelikler (Attributes)
ASP.NET Core'daki öznitelik mekanizmasını kullanarak özel doğrulama ve yetkilendirme işlevleri sunar:
RoleAuthorizeAttribute.cs: Rol tabanlı yetkilendirme kontrolü sağlar.- Doğrulama Öznitelikleri:
MailValidatorAttribute.cs,IBANValidatorAttribute.cs,IPValidatorAttribute.cs,TCKimlikValidatorAttribute.cs,PhoneValidatorAttribute.csgibi çeşitli veri doğrulama öznitelikleri. RoleRequirement.cs: Rol tabanlı yetkilendirme gereksinimleri.- Yerelleştirilmiş Öznitelikler:
LocalizedRequiredAttribute.csveLocalizedDisplayNameAttribute.cs, form alanları için yerelleştirilmiş zorunluluk ve görüntüleme adı desteği sunar.
2.6. Extensions/ Dizini - Genişletme Metotları
Mevcut sınıflara yeni işlevsellikler ekleyen genişletme metotlarını içerir:
PrincipalExtensions.cs:ClaimsPrincipalsınıfına (kullanıcı kimlik bilgileri) ait genişletme metotları ile kullanıcının ID'si, rolleri gibi bilgilere kolayca erişim sağlar.HtmlHelperExtensions.cs:IHtmlHelperarayüzü için genişletme metotları. Bu metotlar, özel HTML etiketleri, form öğeleri veya diğer UI yardımcıları oluşturmak için kullanılabilir.
2.7. Components/ Dizini - Kullanıcı Arayüzü (UI) Bileşenleri ve Formlar
Uygulamanın kullanıcı arayüzü bileşenlerini ve form oluşturma altyapısını barındırır. Bu dizin altında çeşitli alt dizinler ve dosyalar bulunur:
- Alt Dizinler:
Menu/,BreadCrumb/,BootstrapTable/gibi spesifik UI alanlarına yönelik bileşenleri içerir. - Form Bileşenleri:
FormItem.cs,FormLayout.cs,FormAjax.cs,Toolbar.cs: Genel form ve araç çubuğu yapılandırmaları.FormCheckBox.cs,FormRangeSlider.cs,FormCheckBoxList.cs,FormRadio.cs,FormTextTags.cs,FormTextBox.cs,FormTextArea.cs,FormSelect.cs,FormSelectCascade.cs: Çeşitli HTML form giriş türleri için özel bileşenler, özellikleFormSelectCascade.csgibi dosyalar dinamik ve birbirine bağlı seçim kutuları gibi karmaşık form öğelerine işaret eder.FormActionBuilder.cs: Form eylemlerini programatik olarak oluşturmak için kullanılır.FormTextEditor.cs: Metin düzenleyici bileşenleri için.
Bu bileşenler, dinamik, yeniden kullanılabilir ve standartlaştırılmış web formları ve UI elemanları oluşturmayı hedefler.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Rotativa.AspNetCore (>= 1.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.42 | 182 | 9/14/2025 |
| 1.0.41 | 240 | 8/25/2025 |
| 1.0.40 | 102 | 8/17/2025 |
| 1.0.39 | 100 | 8/17/2025 |
| 1.0.38 | 95 | 8/17/2025 |
| 1.0.37 | 102 | 8/17/2025 |
| 1.0.36 | 126 | 8/14/2025 |
| 1.0.35 | 127 | 8/12/2025 |
| 1.0.34 | 90 | 8/9/2025 |
| 1.0.33 | 150 | 8/8/2025 |
| 1.0.32 | 154 | 8/8/2025 |
| 1.0.31 | 151 | 8/8/2025 |
| 1.0.30 | 153 | 8/8/2025 |
| 1.0.29 | 155 | 8/8/2025 |
| 1.0.28 | 152 | 8/8/2025 |
| 1.0.27 | 166 | 8/8/2025 |
| 1.0.26 | 169 | 8/8/2025 |
| 1.0.25 | 175 | 8/8/2025 |
| 1.0.24 | 202 | 8/7/2025 |
| 1.0.23 | 196 | 8/7/2025 |
| 1.0.22 | 196 | 8/7/2025 |
| 1.0.21 | 205 | 8/7/2025 |
| 1.0.20 | 205 | 8/6/2025 |
| 1.0.19 | 202 | 8/6/2025 |
| 1.0.18 | 198 | 8/6/2025 |
| 1.0.17 | 204 | 8/6/2025 |
| 1.0.16 | 202 | 8/6/2025 |
| 1.0.15 | 206 | 8/6/2025 |
| 1.0.14 | 188 | 8/5/2025 |
| 1.0.13 | 189 | 8/5/2025 |
| 1.0.12 | 142 | 8/4/2025 |
| 1.0.11 | 104 | 7/30/2025 |
| 1.0.10 | 96 | 7/27/2025 |
| 1.0.9 | 93 | 7/27/2025 |
| 1.0.8 | 335 | 7/25/2025 |
| 1.0.7 | 521 | 7/22/2025 |
| 1.0.6 | 462 | 7/21/2025 |
| 1.0.5 | 393 | 7/21/2025 |
| 1.0.4 | 397 | 7/21/2025 |
| 1.0.3 | 220 | 7/20/2025 |
| 1.0.2 | 217 | 7/20/2025 |
| 1.0.1 | 217 | 7/20/2025 |
| 1.0.0 | 209 | 7/20/2025 |