Blazor Server چیست؟
مدلی از Blazor که منطق UI روی سرور اجرا میشود و تغییرات از طریق SignalR بلادرنگ به مرورگر میرسد.
چرا مهم است؟
Blazor Server بار اولیه بسیار سبک و دسترسی کامل به منابع سرور (دیتابیس، فایل) بدون API واسط دارد؛ اما هر تعامل کاربر یک رفتوبرگشت شبکه است.
تعریف
در Blazor Server، DOM واقعی در مرورگر است اما منطق کامپوننتها و State روی سرور اجرا میشوند. هر رویداد (کلیک، تایپ) از طریق یک اتصال دائمی SignalR به سرور فرستاده میشود، سرور UI جدید را محاسبه و فقط تفاوت (Diff) را به مرورگر برمیگرداند.
چرخه یک تعامل
کاربر کلیک میکند → پیام از طریق SignalR به سرور → اجرای @code روی سرور → محاسبه تفاوت DOM → ارسال Diff به مرورگر → بهروزرسانی UI
نقاط قوت
- بار دانلود اولیه بسیار کم (بدون نیاز به دانلود Runtime داتنت).
- دسترسی مستقیم به منابع سرور (دیتابیس، فایل سیستم) بدون لایه API.
محدودیت مهم
هر تب باز کاربر یک Circuit (اتصال SignalR با State مربوط به خودش) روی سرور نگه میدارد؛ با تعداد کاربر همزمان بالا، مصرف حافظه سرور رشد میکند و قطع موقت اتصال باعث از دست رفتن State میشود.
اشتباه رایج
❌ استفاده از Blazor Server برای اپی با کاربران بینالمللی و Latency بالا به سرور — تجربه کاربری کند و لرزان میشود.
منبع و مطالعه بیشتر
خلاصه
Blazor Server منطق را روی سرور اجرا و UI را از طریق SignalR بلادرنگ بهروزرسانی میکند؛ بار اولیه سبک است اما هر Circuit روی سرور حافظه و اتصال پایدار میخواهد. مناسب کاربران با شبکه خوب و Latency پایین به سرور. مرجع کامل: Microsoft Learn.
