اشتراک‌ها
معرفی پروژه‌ی GitHub Folder Downloader
 برنامه‌ی GitHubFolderDownloader قادر است یک پوشه‌ی مفروض از GitHub را دریافت کند. به این ترتیب دیگر نیازی نیست تا کل یک مخزن بزرگ را clone کنید. تنها کافی است آدرس پوشه‌ی مورد نظر را به این برنامه بدهید تا فایل‌های آن‌را برای شما دریافت کند. برای کار با آن، ابتدا آخرین نگارش برنامه را دریافت کنید. سپس نیاز است به اکانت خود در GitHub وارد شده و یک توکن را ایجاد کنید. این توکن مجوز کار با API سایت GitHub را فراهم می‌کند.
معرفی پروژه‌ی GitHub Folder Downloader
اشتراک‌ها
مفهوم View components در ASP.NET MVC 6

در نگارش فعلی ASP.NET MVC، متد Html.RenderAction جهت تزریق رندر نهایی محتوای یک اکشن متد در یک View کاربرد دارد. مشکل آن  شروع چرخه‌ی طول عمر مجدد رندر کردن یک اکشن متد دیگر همزمان با رندر شدن اکشن متد جاری است. برای رفع آن View components معرفی شده‌اند که دیگر چنین مشکلی را ندارند.

مفهوم View components در ASP.NET MVC 6
اشتراک‌ها
با پیدا شدن اشکال امنیتی جدی، SSL 3.0 به پایان خود رسید

دو روز گذشته( ۲۳ مهر ۱۳۹۳ ) گروهی از کارشناسان گوگل اشکالی امنیتی در پروتکل امنیتی SSL 3.0 پیدا کردند که باعث می‌شود افراد مهاجم بتوانند اطلاعات کدشده میان سرور و مرورگر را بخوانند.
این اشکال امنیتی Poodle نام گرفته و برای رفع آن هیچ راه حلی به جز غیرفعال کردن SSL 3.0 رور مرورگر وجود ندارد.
موزیلا اعلام کرد که در نگارش ۳۵ فایرفاکس این پروتکل را به طور کلی غیرفعال خواهد کرد. گوگل نیز اعلام کرد برنامه دارد تا این پروتکل را در آینده‌ای نزدیک از کروم حذف کند. 

با پیدا شدن اشکال امنیتی جدی، SSL 3.0 به پایان خود رسید
نظرات مطالب
عبارات باقاعده و نیاز به Timeout
نکته تکمیلی:

از NET 6. به بعد نیز میتوانیم مقدار Timeout را به صورت سراسری تنظیم کنیم:
AppDomain.CurrentDomain.SetData("REGEX_DEFAULT_MATCH_TIMEOUT", TimeSpan.FromMicroseconds(50));
مقدار پیش‌فرض آن  Regex.InfiniteMatchTimeout میباشد یعنی تا زمان اتمام تطبیق ادامه خواهد داشت و اگر در حال نگارش کتابخانه‌ای هستید، بهتر است از روش زیر استفاده کنید:
Regex.IsMatch("abc", "a", RegexOptions.None, TimeSpan.FromSeconds(5));
این قابلیت از زمان دات‌نت 4.5 اضافه شده‌است.
نظرات مطالب
امکان مفهوم بخشیدن به رشته‌ها در NET 7.
یک نکته‌ی تکمیلی: امکان مشخص کردن نوع زبان مورد استفاده، توسط StringSyntaxAttribute در Rider


اگر از Rider استفاده می‌کنید، آخرین نگارش آن، امکان ذکر تمام زبان‌های پشتیبانی شده‌ی توسط Rider را به عنوان پارامتر ویژگی StringSyntax دارد (مانند Regular expressions, JavaScript, HTML, CSS, JSON, XML, SQL) که نمونه‌ای از آن‌را در مثال فوق با ذکر #C ملاحظه می‌کنید. پیشتر یک چنین قابلیتی تنها با استفاده از LanguageInjectionAttribute آن میسر بود.
نظرات مطالب
روش آپلود فایل‌ها به همراه اطلاعات یک مدل در برنامه‌های Blazor WASM 5x
- WebRootPath در صورت عدم وجود پوشه‌ی wwwroot و یا خالی بودن آن، نال را بازگشت می‌دهد. یک dotnet publish را از پوشه‌ی server صادر کنید، تا مشخص شود که آیا توانایی ساخت آن‌را دارد یا خیر.
- نگارش RTM را نصب کنید. ممکن است نگارش‌های RC باگ داشته باشند.
var dir = Path.Combine(_webHostEnvironment.WebRootPath, "_content", "MyLibName", "Folder1");
var files = Directory.GetFiles(dir, "*.*");
نظرات مطالب
تنظیمات کش توزیع شده‌ی مبتنی بر SQL Server در ASP.NET Core
همان مطلب LocalDB FAQ را پیگیری کنید، به صورت اصولی به این موضوع پرداخته شده. LocalDB یک محصول مستقل هست و نصب و راه اندازی ساده‌ای دارد. مطلب یاد شده را پیگیری کنید، محل نصب محلی، روش یافتن شماره نگارش نصب شده و همچنین لینک دریافت نگارش‌های جدیدتر را هم مشاهده خواهید کرد؛ به همراه روش عیب‌یابی و نصب مجدد.
نظرات مطالب
امن سازی برنامه‌های ASP.NET Core توسط IdentityServer 4x - قسمت ششم - کار با User Claims
این مطلوب است که اطلاعات پویا مانند آدرس یا نقش‌های یک کاربر که پویا هستند را در کلایم‌ها نگهداری کنیم؟ بهترین راه برای بروز بودن همیشگی نقش‌های یک کاربر این است که برای هر درخواست او نقش هارا از IDP دریافت کنیم؟
ضمنا بسته‎ی IdentityModel که معرفی کرده اید با آخرین نسخه نگارش آن در Core 3.1 سازگاری ندارد، آخرین چیزی که بهش رسیدم این بود که درخواست برای  tokenEndpoint ارسال میشود منتهی با خطای unsupported_grant_type مواجه میشوم با GrantType از نوع HybridAndClientCredentials هم تست کردم فرقی نداشته است.
نظرات مطالب
سفارشی سازی ASP.NET Core Identity - قسمت دوم - سرویس‌های پایه
- این پروژه برای سازگاری با آخرین نگارش موجود، بارها به روز رسانی شده. متن مطلب فوق را تغییر ندادم، ولی کدهای مخزن کد آن کاملا به روز هست.
- برای درک این مورد باید ساختار پروژه‌ی اصلی Identity را بررسی کنید. در یک طرف آن تعدادی کلاس سطح بالا و abstraction هست و در طرف دیگر پوشه‌ای به نام EntityFrameworkCore که پیاده سازی مخصوص EF-Core این abstraction‌ها است. هستند پروژه‌های دیگری که بجای EntityFrameworkCore از NHibernate و یا MongoDB استفاده کرده باشند.
نظرات مطالب
کار با Docker بر روی ویندوز - قسمت پنجم - ایجاد Imageهای سفارشی
Docker در اصل یک برنامه‌ی لینوکسی هست که بعدها به ویندوز و Mac هم منتقل شد و containers آن بر فراز هسته‌ی لینوکس اجرا می‌شوند (در سایر سیستم عامل‌ها یک Linux virtual machine برای آن تهیه شده). ویندوز یک سیستم عامل هست که تشکیل شده از کتابخانه‌ها و برنامه‌های کاربردی که بر فراز یک هسته اجرا می‌شود. در قسمت سوم، این مورد بیشتر بحث شده: «چرا حجم Image مخصوص .NET Core نگارش nanoserver آن حدود 800 مگابایت است؟»