نیاز به مدیریت حالت در برنامههای Blazor
«حالت» یا state، شیءای است، حاوی اطلاعاتی که برنامه با آن سر و کار دارد. بنابراین مدیریت حالت، روشی است برای ردیابی و مدیریت دادههای مورد استفادهی در برنامه و تقریبا تمام برنامهها، به نحوی به آن نیاز دارند. هر کامپوننت در Blazor، دارای state خاص خودش است و این state از سایر کامپوننتها کاملا مستقل و ایزولهاست. این مورد با بزرگتر شدن برنامه و برقراری ارتباط بین کامپوننتها، مشکل ای ...
زمانیکه صحبت از توزیع برنامههای Blazor بر روی IIS است، عموما تنظیمات مرتبط با برنامههای Blazor Server و یا Hosted Blazor Apps که همان ترکیب WASM+Web API هستند، مطرح است؛ در غیراینصورت اگر برنامهای صرفا از فایلهای Blazor WASM تشکیل شده باشد، توزیع آن حتی بر روی صفحات static مربوط به GitHub هم میسر است و وابستگی خاصی به سروری ندارند. بنابراین در اینجا بیشتر هدف تنظیمات IIS مرتبط با قسمت ASP.NET Core این برنامهها است و این مورد را پیشتر ...
در قسمت قبل ، دسترسی به قسمتهایی از برنامهی کلاینت را توسط ویژگی Authorize و همچنین نقشهای مشخصی، محدود کردیم. در این مطلب میخواهیم اگر کاربری هنوز وارد سیستم نشدهاست و قصد مشاهدهی صفحات محافظت شده را دارد، به صورت خودکار به صفحهی لاگین هدایت شود و یا اگر کاربری که وارد سیستم شدهاست اما نقش مناسبی را جهت دسترسی به یک صفحه ندارد، بجای هدایت به صفحهی لاگین، پیام مناسبی را دریافت کند. هدایت سراسری و خودکار کاربران اعتبارسنجی ...
در قسمت 25 ، سرویسهای سمت سرور اعتبارسنجی و احراز هویت مبتنی بر ASP.NET Core Identity را تهیه کردیم. همچنین در قسمت قبل ، سرویسهای سمت کلاینت کار با این Web API Endpoints را توسعه دادیم. در این مطلب، رابط کاربری متصل کنندهی بخشهای سمت کلاینت و سمت سرور را تکمیل خواهیم کرد.
تکمیل فرم ثبت نام کاربران
در ادامه کدهای کامل کامپوننت فرم ثبت نام کاربران را مشاهده میکنید: @page "/registration"
@ ...
در قسمت قبل ، امکان سفارش یک اتاق را به همراه پرداخت آنلاین آن، به برنامهی Blazor WASM این سری اضافه کردیم؛ اما ... هویت کاربری که مشغول انجام اینکار است، هنوز مشخص نیست. بنابراین در این قسمت میخواهیم مباحثی مانند ثبت نام و ورود به سیستم را تکمیل کنیم. البته مقدمات سمت سرور این بحث را در مطلب « Blazor 5x - قسمت 25 - تهیه API مخصوص Blazor WASM - بخش 2 - تامین پایهی اعتبارسنجی و احراز هویت »، بررسی کردیم. ارائهی AuthenticationStat ...
در ادامهی تمرین قسمت قبل که مقدمات ثبت درخواست رزرو یک اتاق را فراهم کردیم، اکنون میخواهیم اگر کاربری بر روی دکمهی checkout now یک اتاق کلیک کرد، به درگاه مجازی پرباد منتقل شده، پرداخت را تکمیل کند، به برنامه هدایت شود و در آخر درخواست او در سیستم ثبت گردد. مزیت کار کردن با درگاه مجازی پرباد، امکان آزمایش محلی برنامه، بدون نیاز به یک درگاه بانکی واقعی است و زمانیکه قرار است با یک درگاه بانکی واقعی کار شود، فقط قسمت معرفی و تنظیمات ...
در قسمت قبل که لیست اتاقهای دریافتی از Web API را نمایش دادیم، هرکدام از آنها، به همراه یک دکمهی Book هم هستند (تصویر فوق) که هدف از آن، فراهم آوردن امکان رزرو کردن آن اتاق، توسط کاربران سایت است. این قسمت را میتوان به عنوان تمرینی جهت یادآوری مراحل مختلف تهیهی یک Web API و قسمتهای سمت کلاینت آن، تکمیل کرد. تهیه موجودیت و مدل متناظر با صفحهی ثبت رزرو یک اتاق
تا اینجا در برنامهی سمت کلای ...
در قسمت قبل ، سرویس و کامپوننت دریافت اطلاعات اتاقها را از Web API برنامه، تکمیل کردیم. در این قسمت با استفاده از اطلاعات مهیا شده، UI آنرا نیز تکمیل خواهیم کرد. نمایش منتظر بمانید در حین بارگذاری اولیهی کامپوننت
کامپوننتهایی که قرار است اطلاعات را از یک Web API دریافت کنند، مدتی باید منتظر بمانند تا عملیات رفت و برگشت به سرور، تکمیل شود. در این بین میتوان یک loading را به کاربر نمایش داد: @page "/hotel/rooms"
...
در قسمتهای Blazor Server مثال این سری ، با روش کار با سرویسهای سمت سرور برنامه، آشنا شدیم. در این نوع برنامهها، فقط کافی است اصل سرویس مدنظر را مستقیما در کامپوننتهای Razor تزریق کرد و سپس میتوان به نحو متداولی با آنها کار کرد؛ اما در برنامههای Blazor WASM خیر! به این نوع برنامههای سمت کلاینت باید همانند برنامههای React ، Angular ، Vue و یا حتی برنامههای مبتنی بر jQuery نگاه کرد. در تمام فناوریهای سمت کلاینت، این درخواستهای Aj ...
در قسمت قبل ، پایهی Web API و سرویسهای سمت سرور برنامهی کلاینت Blazor WASM این سری را آماده کردیم. این برنامهی سمت کلاینت، قرار است توسط عموم کاربران آن جهت رزرو کردن اتاقهای هتل فرضی مثال این سری، مورد استفاده قرار گیرد. پیش از این نیز یک برنامهی Blazor Server را تهیه کردیم که کار آن صرفا محدود است به مسائل مدیریتی هتل؛ مانند تعریف اتاقها و امکانات رفاهی آن. ایجاد یک پروژهی جدید Blazor WASM
برای تکمیل پیاده ساز ...