۲ سال و ۲ ماه قبل، پنجشنبه ۹ تیر ۱۴۰۱، ساعت ۱۷:۲۵
۲ سال و ۲ ماه قبل، چهارشنبه ۸ تیر ۱۴۰۱، ساعت ۲۳:۳۰
تا زمانیکه بتوانید در برابر حملات XSS مقاومت کنید، خیر. برای این مورد هم فعالسازی content security policy توصیه میشود:
۲ سال و ۲ ماه قبل، چهارشنبه ۸ تیر ۱۴۰۱، ساعت ۱۱:۵۱
۲ سال و ۲ ماه قبل، سهشنبه ۷ تیر ۱۴۰۱، ساعت ۲۳:۳۲
محاسبات این تغییرات جهت به روز رسانی UI در Blazor خودکار است و نیازی به دخالت برنامه نویس نیست و حتی میتوان به بهبود این محاسبات هم کمک کرد: «بهبود کارآیی نمایش لیستها در Blazor با استفاده از دایرکتیو key@»
۲ سال و ۲ ماه قبل، سهشنبه ۷ تیر ۱۴۰۱، ساعت ۲۳:۲۹
- کامپوننت InputText نیازی به رخداد ذکر شده ندارد؛ چون خاصیت Value آن دوطرفه است و همچنین Value آن با V بزرگ است و نه کوچک و بهتر است این موارد کوچک و بزرگ را با هم ترکیب نکنید. پشت صحنهی روش طراحی آنرا کمی بالاتر توضیح دادم: «یک نکتهی تکمیلی: روش تعریف data binding دو طرفه در کامپوننتها»
۲ سال و ۲ ماه قبل، دوشنبه ۶ تیر ۱۴۰۱، ساعت ۱۵:۵۶
global usings داخل فایل Directory.Build.props تعریف شدهاند. همین فایل حضور داشته باشد، کافی است.
۲ سال و ۲ ماه قبل، دوشنبه ۶ تیر ۱۴۰۱، ساعت ۰۳:۲۳
و یا میتوان در هر کامپوننتی، متد ShouldRender را به صورت زیر بازنویسی کرد:
protected override bool ShouldRender() { return shouldRender; }
۲ سال و ۲ ماه قبل، یکشنبه ۵ تیر ۱۴۰۱، ساعت ۱۳:۵۴
سراسری هست؛ هرچند میتوانید کلید کش را بر اساس user-id تعیین کنید و یا از سشن استفاده کنید.
۲ سال و ۲ ماه قبل، یکشنبه ۵ تیر ۱۴۰۱، ساعت ۰۱:۴۴
- اسمبلیهای دات نتی را که هربار به صورت خودکار دریافت میکند. یکی از کارهای اسکریپتی که در انتهای فایل index.html درج شده، دقیقا بررسی امضای دیجیتال موارد موجود در کش مرورگر و موارد بر روی سرور هست. بنابراین غیرممکن است که اسمبلیهای جدید WASM، از کش خوانده شوند.
- تنها مواردی که ممکن است از کش خوانده شوند، فایلهای استاتیک برنامه هستند که دو رویهی تنظیم هدر کش فایلهای استاتیک (تنظیمات کش کردن چندسکویی فایلهای ایستا در ASP.NET Core) و استفاده از روشهای cache busting را باید مدنظر داشته باشید (مانند قرار دادن یک کوئری استرینگ بیانگر نگارش در انتهای فایلهای css و js شبیه به asp-file-version) و این مورد در تمام برنامههای وب، یکسان است.
۲ سال و ۲ ماه قبل، سهشنبه ۳۱ خرداد ۱۴۰۱، ساعت ۲۳:۲۷
چند نکتهی تکمیلی
- اگر از «DNTPersianUtils.Core » استفاده کنید، متد الحاقی ()ToPersianNumbers آن، قابلیت مدنظر را به همراه دارد و با Blazor هم سازگار است.
- کامپوننت طراحی شدهی فوق، چون عمل async ای را انجام نمیدهد، میتوانست از OnInitialized هم استفاده کند.
- زمانیکه از OnInitialized برای طراحی کامپوننتی استفاده میکنید، یعنی این کامپوننت دیگر تغییرات بعدی Number را نمیبیند. به همین جهت بهتر است از OnParametersSet استفاده کنید تا امکان واکنش به تغییرات Number را داشته باشید.
- اگر از OnParametersSet استفاده کردید، نباید خاصیت از نوع [Parameter] را در آن مستقیما مقدار دهی کنید؛ چون میتواند یک حلقهی بیپایان render را ایجاد کند. به همین جهت در اینجا یک خاصیت موقتی را مقدار دهی کرده و نمایش دهید.
- میتوان کامپوننتهای Blazor را جنریک تعریف کرد. به این صورت نیازی به دریافت Number به صورت string نخواهد بود و نوع آن میتواند T و تعیین شدهی توسط کاربر باشد.