عموما برنامههای بزرگ NET.، به چندین زیر پروژه شکسته میشوند تا مدیریت آنها سادهتر شود. مهمترین مشکلی که در این حالت پس از مدتی بروز میکند، هماهنگ نگه داشتن شماره نگارشهای ارجاعات NuGet این پروژهها است و همچنین به روز رسانی مکرر و هر بارهی تمام این فایلهای csproj. به همین جهت ایدهی مدیریت مرکزی شماره نگارشهای ارجاعات پروژههای NuGet قرار است به نگارش بعدی آن اضافه شود که البته هم اکنون نیز قسمتی از آن در NET Core SDK 3.1.300. به ...
Application Insights راهکار ارائه شده توسط Microsoft است که در سه بخش به ما کمک میکند تا سیستم لاگ مؤثر و کارآمدی داشته باشیم: ۱- متدهای پایه Log که به صورت دستی فراخوانی میشوند، مانند TrackEvent برای ثبت یک رویداد بیزینسی که این متدها فراتر از متدهای معمول loggerهای متداول هستند. ۲- به صورت خودکار ، Application Insights خطاهای سیستم را لاگ نموده و همچنین در زمان کار کردن با Http Client، دیتابیس و سایر Dependency ...
به مناسبت ارائهی نسخه 7.4 از Microsoft.AspNetCore.OData که دیروز صورت پذیرفت، تصمیم گرفتم آموزش استفاده از OData را در پروژههای ASP.NET Core 3.1 به بالا که دارای endpoint routing هستند (روش توصیه شده)، تهیه کنم تا در آن، پروژه کمترین تغییر ممکن را برای اضافه شدن OData داشته باشد و ببینیم که استفاده از آن در نسخههای جدید، به چه میزان آسان شده است. ابتدا با dotnet --version و یا dotnet --info و یا هر روش دیگری، از نصب بودن dot ne ...
خودکارسازی، در قسمتهای مختلف یک پروژه میتواند انجام شود. نمونههای مختلف این خودکارسازیها که اکثرا توسط رفلکشن انجام میشوند شامل نگاشت خودکار Dto به Entity و بالعکس (توسط AutoMapper) ، ثبت خودکار تمام Entityها در DbContext بدون نیاز به ثبت تک تک آنها به صورت public DbSet<Person> People { get; set; } (که در این روش خودکار، اسم جداول میتواند به صورت جمع ثبت شود)، ثبت خودکار EntityTypeConfigurationها، ثبت خودکار کلیهی کلا ...
بعد از انتشار قسمت 6 به عنوان آخرین قسمت مرتبط با تفکر مبتنیبر CRUD (CRUD-based thinking) قصد دارم پشتیبانی از طراحی Application Layer مبتنیبر CQRS را نیز به این زیرساخت اضافه کنم. در این مطلب تغییرات حاصل از طراحی مجدد و بازسازی انجام شده در نسخه جدید را مرور خواهیم کرد. تغییرات کتابخانه DNTFrameworkCore 1- واسطهای مورد استفاده جهت ردیابی موجودیتها : public interface ICreationTrackin ...
Blazor، چارچوبی است ارائه شده توسط مایکروسافت که به ما اجازه میدهد برنامههای تعاملی وب را با CSharp و بدون JavaScript بنویسیم. Blazor از اساس، Component based بوده و در برنامههایی که Backend نیز با CSharp نوشته شده باشد ( مثلا با ASP.NET Core) امکان به اشتراک گذاری کد بین کلاینت و سرور را نیز فراهم میکند. معماری Blazor معماریای مدرن است که در دل خود از امکانات CSharp نیز به خوبی بهره برده است تا بتوان پروژه را بهصورتی که قابلیت نگه ...
پیشتر مطلب « تولید و ارسال خودکار بستههای NuGet پروژههای NET Core. به کمک AppVeyor » را در این سایت مطالعه کردهاید. اخیرا GitHub نیز دقیقا همین امکانات یکپارچگی مداوم یا Continuous Integration را تحت عنوان GitHub Action، به مخازن کد خود اضافه کردهاست. البته این قابلیت هنوز در مرحلهی بتا است و برای فعالسازی آن بر روی مخازن کد خود نیاز است در اینجا ثبت نام کنید. بعد از یکی دو روز صبر کردن، این برگهی جدید، به مخازن کد شما اضافه خو ...
COM، یک فناوری قدیمی و مختص به ویندوز است؛ هرچند NET Core. به صورت چندسکویی طراحی شدهاست، اما حداقل نگارش ویندوز آن، از کار با اشیاء COM پشتیبانی میکند. البته باید درنظر داشت که نگارش 1x آن اینچنین نیست و پشتیبانی از آن، از نگارش 2x شروع شدهاست.
محدودیتهای کار با اشیاء COM در NET Core 2x.
پیاده سازی پشتیبانی از اشیاء COM در NET Core 2x. به همراه اینترفیس IDispatch نیست. به این معنا که از مفهوم « late binding ...
در طی چند ماه گذشته، ریز نکاتی که برای ارتقاء به ASP.NET Core 3.0 مورد نیاز هستند، در ذیل مطالب مرتبط با هر کدام، جهت برقراری ارتباط منطقی و امکان مشاهدهی روند تغییرات هرکدام، به صورت مجزا و در طی نظراتی تکمیلی، به آن مطالب اضافه شدهاند. در ادامه برای داشتن یک دید کلی و سهولت دسترسی به آنها، لیست این موارد را نیز مشاهده میکنید: پیشنیازهای کار با ASP.NET Core 3.0 فعالسازی NET Core 3.0. در Visual Studio 2019 C# 8.0 - ...
معروفترین کتابخانهی کار با JSON در دات نت، Json.NET است که این روزها، جزء جدایی ناپذیر حداقل، تمام برنامههای وب مبتنی بر دات نت میباشد. برای مثال ASP.NET Core 2x/1x و همچنین ASP.NET Web API پیش از NET Core.، به صورت پیشفرض از این کتابخانه برای کار با JSON استفاده میکنند. این کتابخانه 10 سال پیش ایجاد شد و در طول زمان، قابلیتهای زیادی به آن اضافه شدهاست. همین حجم بالای کار صورت گرفته سبب شدهاست که برای مثال شروع به استفادهی از & ...