یکی از مزایای Blazor، استفاده از دانش C# / HTML / CSS (که خیلی از ما اینها را هم اکنون بلد هستیم) برای نوشتن برنامههای وب (SPA / PWA)، برنامههای Android / iOS / Windows و وبسایتهایی با قابلیت Pre Rendering و SEO Friendly است. با یک بار کدنویسی به کمک Blazor، ولی با Configurationهای متفاوت میتوان خروجیهای مختلفی را برای پلتفرمهای مختلف گرفت؛ برای مثال Blazor Hybrid خروجی Android / iOS / Windows و Blazor Web Assembly خروجی PWA / SPA ...
جهت به اشتراک گذاشتن کامپوننتهای سفارشی Blazor در پروژههای مختلف، امکان بسته بندی آنها به صورت کتابخانههای کامپوننتها نیز پیشبینی شدهاست که میتوانند به همراه فایلهای CSS ،JS و تصاویر هم باشند. روش ایجاد یک پروژهی کتابخانهای، از کامپوننتهای Blazor
اگر از ویژوال استودیو استفاده میکنید، نوع «Razor Class Library»، پروژههای مخصوص کتابخانههای کامپوننتهای Blazor را آغاز میکند و اگر میخواهید از CLI استفاده کنید ...
همانطورکه با مطالعهی سری آموزش Blazor تا به اینجا متوجه شدهاید، Blazor دو نوع Web Assembly و Server را دارد: در Blazor Web Assembly که UI با HTML / CSS زده میشود، کدهای C# .NET ای با کمک Web Assembly و داخل خود مرورگر اجرا میشوند. با کمک Blazor Web Assembly میتوان محصولات PWA و SPA ایجاد نمود. در Blazor Server که UI با HTML / CSS زده میشود، کدها در سرور اجرا و به وسیلهی Web Sockets، تعاملات UI ای از Browser به سرور ارسا ...
اگر پیشتر با React کار کرده باشید، احتمالا چنین پیام خطایی را دریافت کردهاید:
در اینجا React عنوان میکند که هر عنصر از لیستی را که در حال نمایش آن هستید، باید به همراه یک key، ارائه دهید. اما ... این key چیست؟
زمانیکه حالت کامپوننتی تغییر میکند (شیء یا اشیایی که به عناصر UI متصل هستند، تغییر میکنند)، React، درخت جدیدی از اشیایی را که باید رندر شوند، تولید میکند. اکنون React باید محاسبه کند که چه عناصری نسبت ...
هر زمانیکه در سمت کلاینت، استثناء یا خطایی رخ میدهد، کاربر با نوار زرد رنگی در پایین صفحه، از آن مطلع میشود؛ اما برنامه نویس چطور؟! به همین جهت در این مطلب قصد داریم تمام خطاهای رخ دادهی در برنامهی سمت کلاینت را لاگ کرده و به سرور تلگرام ارسال کنیم. مزیت کار کردن با تلگرام، دسترسی به سروری است که تقریبا همواره در دسترس است و برخلاف بانک اطلاعاتی برنامه که ممکن است در لحظهی بروز خطا، خودش سبب ساز اصلی باشد و قادر به ثبت اطلاعات خطاهای ...
جهت تولید گزارش در Blazor Wasm، ابتدا آخرین نسخهی استیمول سافت را از نیوگت دریافت کرده: Install-Package Stimulsoft.Reports.Blazor -Version 2021.2.4
سپس گزارشی را که با DataSource از نوع Business Objects ساختهایم، در مسیر wwwroot/Reports قرار میدهیم. انتخاب نوع دیتاسورس اختیاری است و میتوانیم از سایر دیتاسورسها نیز استفاده کنیم.
جهت دسترسی به فایل گزارش، نیاز است فایل ریپورت، تبدیل به آرایهای از بایتها شود. به ه ...
زمانیکه قرار است با فایلهای باینری واقع در سمت سرور کار کنیم، اگر اکشن متدهای ارائه دهندهی آنها محافظت شده نباشند، برای نمایش و یا دریافت آنها تنها کافی است از آدرس مستقیم این منابع استفاده کرد و در این حالت نیازی به رعایت هیچ نکتهی خاصی نیست. اما اگر اکشن متدی در سمت سرور توسط فیلتر Authorize محافظت شده باشد و روش محافظت نیز مبتنی بر کوکیها نباشد، یعنی این کوکیها در طی درخواستهای مختلف، به صورت خودکار توسط مرورگر به سمت سرور ارسال ...
از زمان Blazor 5x، امکان آپلود فایل به صورت استاندارد به Blazor اضافه شدهاست که نمونهی Blazor Server آنرا پیشتر در مطلب « Blazor 5x - قسمت 17 - کار با فرمها - بخش 5 - آپلود تصاویر » مطالعه کردید. در تکمیل آن، روش آپلود فایلها در برنامههای WASM را نیز بررسی خواهیم کرد. این برنامه از نوع hosted است؛ یعنی توسط دستور dotnet new blazorwasm --hosted ایجاد شدهاست و به صورت خودکار دارای سه بخش Client، Server و Shared است. معرف ...
در قسمت قبل ، روشی را بر اساس الگوی Observer، برای به اشتراک گذاری حالت و مدیریت سراسری آن، بررسی کردیم. در این روش میتوان چندین مخزن حالت را نیز داشت؛ اما هر کدام مستقل از هم عمل میکنند. برای تکمیل آن فرض کنید قرار است عمل افزودن مقدار یک شمارشگر، در دو مخزن حالت متفاوت و مجزای از هم، در هر کدام سبب بروز تغییر حالتی خاص شود که در این مطلب روش مدیریت آنرا بررسی خواهیم کرد. نیاز به یک Dispatcher برای تعامل با بیش از یک مخزن حالت ...