#actionfilter
Explore tagged Tumblr posts
Text
Asp.Net Core Mvc İle Hata Yönetimi Nasıl Yapılır ?
Merhaba arkadaşlar uzun zamandır yazı yazmıyordum sebebi yoğun iş vs o şuanda vakit buldum ve bu konuda sizinle ActionFilterları göreceğiz ve yöneteceğiz.
Daha önce actionfilter hakkında bir şey duymadıysanız actionfilter şu işe yarar herhangi bir (Request) post get olaylarında her seferinde çalışır ve içerisinde çalışan action controller vs hakkında bilgiler bulunur. İlk olarak bir MyExceptionFilter şeklinde bir class oluşturuyorum. public class MyExceptionFilter { } Şimdi class'ımı IExceptionFilter 'a kalıtacağım. public class MyActionFilter : IExceptionFilter { } Daha sonra Override ediyoruz ve elimize OnException metodu geliyor public class MyActionFilter : IExceptionFilter { public void OnException(ExceptionContext context) { } } context adı ile gelen parametre ile action adı controller adı gibi bilgilere erişebilirsiniz. public class MyActionFilter : IExceptionFilter { public void OnException(ExceptionContext context) { var actionName = context.RouteData.Values; var controllerName = context.RouteData.Values; } } Şimdi bu şekilde Controller ve Action'a ulaşabildik daha ne yapabiliriz derseniz burada action türüne göre sayfayı değiştirip örnek veriyorum Post ise redirect action verip hata sayfasına yönlendirebilirsiniz veya sayfalar js ile yönetiliyorsa json döndürüp sayfa içerisinde hataları okuyup hata mesajı verebilirsiniz. public class MyActionFilter : IExceptionFilter { public void OnException(ExceptionContext context) { var actionName = context.RouteData.Values; var controllerName = context.RouteData.Values; context.ExceptionHandled = true; context.Result = new ViewResult { ViewName = "CustomError" }; } } Ben bir tane hata sayfasını açan bir örnek yapacağım result olarak viewresult yazıyorum içerisine viewname veriyorum. View'a nasıl erişeceğim nerede olacak diyorsanızda view dosyasındaki shared içerisine dosyayı açıp adını viewname'e verirseniz çalışacaktır. HttpStatusCode status = HttpStatusCode.InternalServerError; Şimdi ise ben status koduna bakayım sunucu hatası ise bu değilse vs buna yönlendireyim diyorsanız da bu şekilde status koduna ulaşıp 500 ise farklı 400 ise farklı vs sayfalara gönderebilirsiniz. , Ben bunları database'e kaydetmek istiyorum ama nasıl bir tablo oluşturmalıyım diyorsanız da sizin işinizi görecek bir model atayım codefirst kullanıyor iseniz sizin ciddi anlamda işinizi çözecektir. public partial class ErrorEntity { public int ErrorEntityId { get; set; } public int? AppUserId { get; set; } public string MessageText { get; set; } public string InnerExceptionText { get; set; } public string SourceText { get; set; } public string StackTraceText { get; set; } public string ControllerName { get; set; } public string ActionName { get; set; } public string ParameterName { get; set; } public int? StatusCode { get; set; } public string Status { get; set; } public string UserBrowser { get; set; } public string UserIp { get; set; } public string ApiController { get; set; } public string ApiAction { get; set; } public string WebController { get; set; } public string WebAction { get; set; } public DateTime CreateDate { get; set; } public bool? IsActive { get; set; } public bool? IsDeleted { get; set; } public AppUser AppUser { get; set; } } Yazıyı burada bitireyim muhtemelen bir sonraki konu action filter ile loglama şeklinde olabilir ancak ana fikir zaten neredeyse aynı. Sürüm olarak 2.1 ve 3.1 de kodlar çalışmaktadır. Read the full article
0 notes
Video
Tema propio Retenciones (No A Las) #Retenciones #OwnSong #ReasonStudios #EzDrummer2 #MetalMachines #NoiseAsh #ActionFilter #TSEX50 #RockMetalSuite (en Neuquén, Argentina) https://www.instagram.com/p/B6Jv46FnC9H/?igshid=mehg1z4gs2by
#retenciones#ownsong#reasonstudios#ezdrummer2#metalmachines#noiseash#actionfilter#tsex50#rockmetalsuite
0 notes
Photo

#pioneerdj #cdj2000nxs2 #neooyaide #cables #eventide #space #delay #korg #kaossilatorpro #kaosspad3 #model1 #playdifferently #vermona #actionfilter #allenheath #mclore #flightcase (at Isla Blanca)
#kaossilatorpro#eventide#korg#actionfilter#allenheath#delay#playdifferently#neooyaide#cables#mclore#model1#flightcase#pioneerdj#cdj2000nxs2#vermona#space#kaosspad3
0 notes
Photo
(via سرفصل آموزشی ای اس پی دات نت کور وب ای پی آی)
مزیت اصلی این دوره؟ به جای اینکه ماه ها وقت صرف کنین تحقیق کنین، مطالعه کنین و موارد کاربردی و مهم API نویسی رو یاد بگیرین توی این دوره همشو یک جا و سریع یاد میگیرین و تو وقتتون صرفه جویی میشه. همچنین یک پله هم به Senior Developer شدن نزدیک میشین آشنایی با ASP.NET Core زبان ASP.NET Core نگارشی از .NET محسوب می شود که بر ��ایه .NET Core استوار است. این زبان به نوع سیستم عامل وابسته نیست و نیازی به واسط برنامه نویسی ویندوز ندارد. اگرچه ویندوز هنوز هم یکی از سیستم عامل های برتر محسوب می شود اما نرم افزار های تحت وب روز به روز اهمیت و کاربرد بیشتری پیدا می کنند. شرکت مایکروسافت به منظور گسترش حوزه کارکرد .NET زبان ASP.NET Core را معرفی کرد است. به این معنی که نرم افزار های ایجاد شده با ASP.NET Core می توانند در محیط های مختلفی میزبانی شوند. زبان ASP.NET Core برخلاف MVC نخستین، ارتباطی با پروژه های وب فرم ندارد و در مقایسه با MVC نخستین، بسیار ساده تر شده است. و به دلیل این که ASP.NET Core مبتنی بر فریم ورک .NET Core می باشد، می توان با استفاده از آن پروژه های وب مختلفی که قابلیت میزبانی در محیط های مختلف و سیستم عامل های گوناگون داشته باشد، را ایجاد کرد. 📷 ASP.NET Core چیست ؟ ASP.NET Core یک فریم ورک جدید برای ساخت برنامه مدرن همچون برنامه های تحت وب و برنامه های موبایلی می باشد که توسط شرکت مایکروسافت ارائه شده است. برنامه های نوشته شده با این فریم ورک قابلیت اجرا شدن در ویندوز، لینوکس و مک را دارند. این فریم ورک ویژگی های Web API و MVC را به فریم ورک برنامه نویسی وب متصل می سازد. ASP.NET Core 1.0 یک باز نویسی از فریم ورک فعلی ASP.NET 4.6 است که تقریبا قابلیت های یکسانی با نسخه ۴٫۶ دارد اما بسیار سبک تر و ماژولارتر است. منظور از Cross Platform این است که برنامه های ایجاد شده می توانند بر روی چندین پلتفرم اجرا شوند. برنامه های ASP.NET Core هم بر روی .NET Core و .NetFramework اجرا می شوند. این تکنولوژی با هدف بهینه سازی فریم ورک های مبتنی بر محاسبات ابری پیاده سازی شده است که میزان بار اضافی بر روی سرور را بسیار کاهش می دهد. این تکنولوژی باعث می شود تا در زمان طراحی و پیاده سازی میزان انعطاف پذیری برنامه های توسعه دهندگان افزایش یابد. چرا ASP.NET Core ؟ در لیست زیر برخی از مهم ترین ویژگی های فریم ورک ASP.NET Core را مشاهده می کنید: - متن باز و رایگان - Cross Platform - سبک، قدرتمند و ساده - امکان دسترسی به محیط محاسبات ابری - ارتقاء سطح ماژولار بودن - پشتیبانی و سازگاری کامل با NuGet Package - یکپارچه سازی فریم ورک های سمت کاربر مدرن و BackEnd - و سایر موارد فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی - لایه بندی اصولی پروژه (Project Layering and Architecture) : در این دوره لایه بندی اصولی یک پروژه را از ابتدا شروع و هر بخش را بررسی می کنیم. همچنین مباحث Repository و UOW رو هم بررسی می کنیم. - احراز هویت (Authentication) - ASP.NET Core Identity : احراز هویت توسط Identity + سفارشی سازی - (Json Web Token) JWT : احراز هویت توسط Jwt + یکپارچه سازی آن با Identity - (Json Web Encryption) JWE : ایمن سازی توکن ها بوسیله رمزنگاری توکن (JWE) - Security Stamp : جلوگیری از اعتبارسنجی توکن به هنگام تغییر دسترسی های کاربر جهت امنیت بیشتر - Claims : کار با Claim ها و تولید خودکار آنها توسط ClaimsFactory - Logging (ثبت خطا ها) - Elmah : استفاده از Elmah برای لاگ خطا ها در Memory, XML File و Database - NLog : استفاده از NLog برای لاگ خطا ها در File و Console - Custom Middleware : نوشتن یک میدلویر سفارشی جهت لاگ تمامی خطا (Exception) ها - Custom Exception : نوشتن Exception برای مدیریت ساده تر خطا ها - Sentry : ثبت خطا ها در سیستم مدیریت لاگ sentry.io (مناسب برای پروژه های بزرگ) - تزریق وابستگی (Dependency Injection ) - ASP.NET Core IOC Container : استفاده از Ioc container داخلی Asp Core - Autofac : استفاده از محبوب ترین کتابخانه Autofac (Ioc Container) - Auto Registeration : ثبت خودکار سرویس ها توسط یک تکنیک خلاقانه با کمک Autofac - ارتباط با دیتابیس (Data Access) - Entity Framework Core : استفاده از EF Core - Auto Entity Registration : ثبت Entity های DbContext به صورت خودکار توسط Reflection - Pluralizing Table Name : جمع بندی نام جداول EF Core به صورت خودکار توسط کتابخانه Pluralize.NET و Reflection - Automatic Configuration : اعمال کانفیگ های EntityTypeConfiguration (FluentApi) به صورت خودکار توسط Reflection - Sequential Guid : بهینه سازی مقدار دهی identity برای Guid به صورت خودکار توسط Reflection - Repository : توضیحاتی در مورد معماری اصولی Repository در EF Core - Data Intitializer : یک معماری اصولی برای Seed کردن مقادیر اولیه به Database - Auto Migrate : آپدیت Database به آخرین Migration به صورت خودکار - Clean String : اصلاح و یک دست سازی حروف "ی" و "ک" عربی به فارسی و encoding اعداد فارسی در DbContext به صورت خودکار به هنگام SaveChanges - Versioning : نسخه بندی و مدیریت نسخه های پروژه + سفارشی سازی و ایجاد یک معماری حرفه ای - ابزار (Swashbuckle) Swagger - Swagger UI : ساخت یک ظاهر شکیل به همراه داکیومنت Aciton ها و Controller های پروژه و امکان تست API ها توسط Swagger UI - Versioning : یکپارچه سازی اصولی Swagger با سیستم نسخه گذاری (Versioning) - JWT Authentication : یکپارچه سازی Swagger با سیستم احراز هویت بر اساس Jwt - OAuth Authentication : یکپارچه سازی Swagger با سیستم احراز هویت بر اساس OAuth - Auto Summary Document Generation : تولید خودکار داکیومنت (توضیحات) برای API های پروژه - Advanced Customization : سفارشی سازی های پیشرفته در Swagger - دیگر قابلیت ها - API Standard Resulting : استاندارد سازی و یک دست سازی خروجی API ها توسط ActionFilter - Automatic Model Validation : اعتبار سنجی خودکار - AutoMapper : جهت Mapping اشیاء توسط کتابخانه محبوب AutoMapper - Auto Mapping : سفارشی سازی وایجاد یک معماری حرفه ای برای Mapping اشیا توسط Reflection - Generic Controller : ساخت کنترلر برای عملیات CRUD بدون کد نویسی توسط ارث بری از CrudController - Site Setting : مدیریت تنظیمات پروژ توسط Configuration و ISnapshotOptions - Postman : آشنایی و کار با Postman جهت تست API ها - Minimal Mvc : حذف سرویس های اضافه MVC برای افزایش پرفرمنس در API نویسی - Best Practices : اعمال Best Practices ها جهت بهینه سازی، افزایش پرفرمنس و کدنویسی تمیز و اصولی - و چندین نکته مفید دیگر ...
0 notes
Text
[Clone] Flash Stock Rom on Samsung Galaxy Tab 5
[Clone] Flash Stock Rom on Samsung Galaxy Tab 5
[Clone] Flash Stock Rom on Samsung Galaxy Tab 5
We use SP Flash tool but we also give you all possible and available Flashing methods and all available Stock firmwares to Flash Stock Rom on Samsung Galaxy Tab 5 Clone. Don’t worry If you really want to Flash a Rom to Unbrick, Rollback, Repair, unroot, full system restore then you are in right website. so Flash it. as wel, below the guide, we…
View On WordPress
0 notes
Text
No IFrame For You
No IFrame For��You
Security isn’t easy, but its becoming more important. There’s lots of evidence explaining the dangers of missing any flaws. One of the items that got flagged on a project that allowed IFrames from any other site. The findings referenced the X-Frame-Options header. In my particular case, the business wanted to allow IFraming across domains. This ruled out using DENY or SAMEORIGIN. ALLOW-FROM would…
View On WordPress
#actionfilter attributes#allow-from#appsettings#deny#httpmodule#iframe#IIS#sameorigin#security#web.config#webforms#x-frame-options
0 notes
Photo

Welcome to my family! #djm1000 #pioneer #vermona #actionfilter #isolator #filter #boriswhy #wenotme #bern #switzerland #deephouse #techhouse #housemusic #house #studio #mix #mixing #bw #thatswassup #loveit (hier: Basement Studio)
#actionfilter#mix#bw#deephouse#loveit#boriswhy#house#thatswassup#housemusic#filter#pioneer#djm1000#studio#techhouse#wenotme#vermona#switzerland#isolator#bern#mixing
0 notes
Photo

#sunset #trapani #islablanca #housemusic #dj #mixer #model1 #allenheath #playdifferently #pioneerdj #cdj2000nxs2 #neooyaide #cables #vermona #actionfilter #sea #sand #summer
#sand#playdifferently#model1#allenheath#trapani#neooyaide#summer#actionfilter#cdj2000nxs2#housemusic#sunset#cables#mixer#pioneerdj#sea#dj#islablanca#vermona
0 notes
Photo

#sunset #trapani #islablanca #housemusic #dj #mixer #model1 #allenheath #playdifferently #pioneerdj #cdj2000nxs2 #neooyaide #cables #vermona #actionfilter #sea #sand #summer
#neooyaide#summer#islablanca#mixer#allenheath#cdj2000nxs2#sea#pioneerdj#playdifferently#cables#sand#trapani#actionfilter#sunset#model1#dj#vermona#housemusic
0 notes