در دنیای NET. همواره دو نوع LINQ وجود داشته داشته است: LINQ to Objects و ... مابقی. در حالت اول با <IEnumerable<Tها کار میکنیم که تمام عملیات در حافظه انجام میشود و در مابقی حالات یک <IQueryable<T وجود دارد که عبارت حاصل از آن جهت کاربردهای مختلفی به زبانهای متفاوتی مانند SQL ترجمه میشوند. در هر دو حالت کلی، Syntax نهایی یکی است و تنها اگر به منبع دادهی آنها دقت کنیم، میتوانیم نوع آنها را تشخیص دهیم. برای نمونه کوئری ...
یکی از روشهای Join نوشتن درEF ، استفاده از Includeها است. اما ... آیا تمام Includeهایی که تعریف شدهاند ضروری بودهاند؟ آیا تمام Joinهای حاصل از Includeهای تعریف شده مورد استفاده قرار گرفتهاند و بیجهت کارآیی برنامه را پایین نیاوردهاند؟ EF Core برای مقابله با یک چنین مواردی که بسیار هم متداول هستند، پس از بررسی کوئری، سعی میکند Includeهای اضافی و بیمصرف را حذف کرده و سبب تولید Joinهای اضافی نشود.
یک مثال: بررسی تنظیمات نم ...
در این مطلب قصد داریم نحوهی یکپارچه سازی افزونهی انتخاب تاریخ و زمان MD.BootstrapPersianDateTimePicker را با گریدهای Kendo UI، در دو حالت ویرایش به صورت popup و یا inline، بررسی کنیم:
پیشنیازها
برای این مطلب از دو کتابخانهی moment-jalaali ، برای تبدیل تاریخ، از میلادی به شمسی و برعکس، استفاده خواهیم کرد. همچنین کنترل انتخاب تاریخ نیز از کتابخانهی MD.BootstrapPersianDateTimePicker تامین می ...
اگر خروجی return File را در اکشن متدهای ASP.NET Core همانند ASP.NET MVC 5.x مورد استفاده قرار دهید و در آن مسیرکامل فایل را برای بازگشت قید کرده باشید، پیام یافت نشدن فایل را دریافت خواهید کرد؛ هرچند این فایل بر روی سرور و در مسیر ذکر شده وجود خارجی دارد. علت آنرا در تصویر ذیل میتوانید مشاهده کنید: روشهای مختلف بازگشت فایلها به سمت کلاینت در ASP.NET Core
در ASP.NET Core، نوعهای کاملتری از Action Resultهای م ...
در EF 6.x به ازای هر عبارت insert/update/delete یکبار رفت و برگشت به بانک اطلاعاتی صورت میگیرد. به همین جهت کارآیی تعداد بالای ثبت، به روز رسانی و حذف رکوردها توسط آن پایین است. برای رفع این مشکل ویژگی Batching به EF Core اضافه شدهاست که توسط آن اینبار دستهای از عبارات را به صورت یکجا و در طی یک رفت و برگشت، به سمت بانک اطلاعاتی ارسال میکند. به این ترتیب کارآیی و سرعت insert/update/delete آن به شدت افزایش خواهد یافت.
نحوهی ...
روش متداول تنظیمات EF Core در برنامههای ASP.NET Core، به صورت معرفی یک DbContext سفارشی، به سیستم تزریق وابستگیهای آن است و سپس میتوان به وهلهای از این Context، توسط تزریق آن به سازندههای کلاسهای مختلف برنامه، دسترسی یافت. به این معنا که به ازای هر درخواست رسیده، یک وهلهی جدید از DbContext ایجاد خواهد شد. در نگارش 2، روش جدیدی برای ثبت DbContext برنامه معرفی شدهاست که در صورت بکارگیری آن، بجای وهله سازی مجدد Contextها، ابتدا استخر ...
AuthenticationMiddleware در ASP.NET Core 2.0، فقط مختص به کار با کوکیها جهت اعتبارسنجی کاربران نیست. از این میانافزار میتوان برای اعتبار سنجیهای مبتنی بر JSON Web Tokens نیز استفاده کرد. مطلبی را که در ادامه مطالعه خواهید کرد دقیقا بر اساس نکات مطلب « پیاده سازی JSON Web Token با ASP.NET Web API 2.x » تدارک دیده شدهاست و به همراه نکاتی مانند تولید Refresh Tokens و یا غیرمعتبر سازی توکنها نیز هست. همچنین ساختار جداول کاربران و نقشهای ...
ASP.NET Core 2.0 به همراه یک AuthenticationMiddleware است که یکی از قابلیتهای این میانافزار، افزودن اطلاعات کاربر و یا همان HttpContext.User به یک کوکی رمزنگاری شده و سپس اعتبارسنجی این کوکی در درخواستهای بعدی کاربر است. این مورد سبب خواهد شد تا بتوان بدون نیاز به پیاده سازی سیستم کامل ASP.NET Core Identity، یک سیستم اعتبارسنجی سبک، ساده و سفارشی را تدارک دید.
تعریف موجودیتهای مورد نیاز جهت طراحی یک سیستم اعتبارسنجی ...
Tag Helper Components یکی از ویژگیهای جدید ASP.NET Core 2.0 است و هدف آن میسر ساختن ایجاد و یا ویرایش المانهای HTML ایی در حال رندر در صفحه هستند. برای مثال یکی از کاربردهای آنها میتواند افزودن اسکریپتی به صورت پویا به تمام صفحات سایت باشد؛ مانند روش مایکروسافت برای افزودن Application Insights به برنامههای ASP.NET Core. در این حالت متد UserApplicationInsights یک tag helper component را به سیستم تزریق وابستگیها اضافه میکند که کار آن ...
یکی از مواردی که به همراه NET Core 1.x. وجود دارد، کمبود کتابخانههای ثالث مخصوص آن است. برای مثال کتابخانهی log4net در اوایل ارائهی NET Core. نگارش مخصوص به آنرا نداشت (البته هم اکنون دارد). باید درنظر داشت، این مورد صرفا در حالت توزیع چندسکویی برنامههای مبتنی بر NET Core. مشکل ایجاد میکرد. از این جهت که میتوان full .NET framework را به عنوان Target Framework برنامههای NET Core. معرفی کرد و در این حالت برنامه بدون هیچگونه مشکلی تنه ...