نکته: این آموزش مبتنی بر دات نت نسخه 5 میباشد (قابل استفاده در نسخه 3.0 و 3.1 نیز میباشد اما تست نشده است). در این آموزش فرض شدهاست که شما توانایی کار کردن با git و گیتهاب را دارید. همچنین دقت کنید که گزینههای زیر در فایل csproj شما موجود باشد، در غیر این صورت ممکن است با خطا مواجه شوید: <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>
<RuntimeIdentifier>win-x86</Runtime ...
اگر شما یک تایپ از نوع reference type را در ورودی یک متد قرار دهید و در داخل متد، پراپرتیهای این تایپ را ویرایش کنید، بعد از آنکه از متد خارج میشود، تغییرات خود را مشاهده خواهید کرد. به طور مثال کد زیر را در نظر بگیرید که در داخل متد EditUserName، مقدار پراپرتی Name را تغییر دادهایم: public class User
{
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
User user ...
در قسمت اول، درمورد سیستم Cache پیشفرض موجود در Asp.Net Core و مزیتها و معایب آن گفتیم. اگر قسمت اول را نخواندید، قسمت اول مقاله را میتوانید از این لینک بخوانید. در این قسمت میخواهیم یک پکیج محبوب و کاربردی را برای پیاده سازی کش، در Asp.Net Core را بررسی کنیم. در دنیای امروز، برنامه نویسی پکیجها و فریمورکها، نقش بسیار مهمی را ایفا میکنند؛ بطوریکه در بسیاری از این موارد، استفاده از این پکیجها، عمل عاقلانهتری نسبت به دوباره ن ...
امروزه در وبسایتهای شخصی و تجاری، یکی از مهمترین پارامترها، سرعت پاسخگویی درخواستها به وبسایت است. طبق آمار، کاربران آنلاین کنونی که ما با آنها طرفیم، سطح تحملشان به سه ثانیه در یک صفحه میرسد؛ پس ما باید بتوانیم سرعت وبسایتهای خودمان را تا حد ممکن بهبود بخشیم. از طرفی پارامتر سرعت، روی سئو گوگل هم تاثیر بسزایی دارد و Ranking وبسایت شمارا تا حد زیادی افزایش میدهد. قطعا همه میدانید که سرعت وبسایت و برنامه چقدر مهم هست؛ پس زیاده ...
در قسمت قبل ، روشی را بر اساس الگوی Observer، برای به اشتراک گذاری حالت و مدیریت سراسری آن، بررسی کردیم. در این روش میتوان چندین مخزن حالت را نیز داشت؛ اما هر کدام مستقل از هم عمل میکنند. برای تکمیل آن فرض کنید قرار است عمل افزودن مقدار یک شمارشگر، در دو مخزن حالت متفاوت و مجزای از هم، در هر کدام سبب بروز تغییر حالتی خاص شود که در این مطلب روش مدیریت آنرا بررسی خواهیم کرد. نیاز به یک Dispatcher برای تعامل با بیش از یک مخزن حالت ...
نیاز به مدیریت حالت در برنامههای 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 ...