میتوانم شکست را بپذیرم اما تلاش نکردن را هرگز!


سیگنال ار

آموزش سیگنال ار (SignalR)

SignalR یک API جدید توسعه دهنده است که برای برنامه های کاربردی وب ASP.NET ارائه شده است و برای اضافه کردن قابلیت "زمان واقعی" به برنامه های ASP.NET استفاده می شود. قابلیت وب "زمان واقعی" توانایی داشتن کد سرور برای فشار دادن محتوی به مشتریان متصل دارد.


SignalR چیست؟
یکی از نیازمندی های پروژه های جدی بروز رسانی برنامه بعد ازانجام هر تغییر است ، اگر یک کاربر تغییری ایجاد کند ، باید برای بقیه کاربرها قابل رویت باشد.یک راه کلاسیک برای انجام چنین کارهایی این است که، باید سرور در فاصله زمانی منظمی ، برای گرفتن وضعیت برنامه ، فراخوانی شود ، اما برای داشتن به روزرسانی real-time ساختگی ، شما باید سرور را مرتبا فراخوانی کنید.
SignalR ، سرور می تواند متدهای JavaScript را به صورت مستقل سمت همه ی Client ها زمانی که به روزرسانی ها مورد نیاز باشند ، فراخوانی کند.کتابخانه ، ارتباط مورد نیازبرای این دسترسی را مدیریت می کند: به صورت پیش فرض از WebSocket استفاده شده است ،در صورت عدم دسترسی به WebSocket در مرورگر ،به صورت خودکار از انواع Connectionهای قدیمی تر استفاده می کند. همچنین JavaScript میتواند سرور را فراخوانی کند ، که این کار درحال حاضر میتواند با AJAX انجام شود، اما اگر دو راه ارتباطی مورد نیاز باشد، شاید راحت تر و تمیزتر است که این کار را با SignalR انجام دهیم.

  • یک کتابخانه جدید برای توسعه دهندگان ASP.NET است که باعث توسعه آسان وب سایت در زمان واقعی(real-time) می شود.
  • اجازه ارتباط دو طرفه بین سرور و سرویس گیرنده را فراهم می کند. سرورها می توانند محتوا را به مشتریان(clients) متصل بلافاصله پس از دسترسی در دسترس قرار دهند.
  • از Web Sockets پشتیبانی می کند و به سایر تکنیک های سازگار با مرورگرهای قدیمی می پردازد. SignalR شامل API ها برای مدیریت اتصال (به عنوان مثال، connect و disconnect وقایع)، گروه بندی اتصالات(grouping connections) و مجوز (authorization)است.

SignalR یک API منبع باز است و از طریق GitHub قابل دسترسی است

کاربرد SignalR

  • برنامه های کاربردی chat room
  • برنامه های نظارت بر زمان واقعی
  • به روز رسانی پیشرفت های شغلی
  • فرم های زمان واقعی

SignalR دو مدل برای برقراری ارتباط فراهم می کند

  • اتصالات مداوم
    API اتصال مداوم به برنامه توسعه دهنده دسترسی مستقیم به پروتکل ارتباطات سطح پایینی که در معرض SignalR قرار دارند را فراهم می کند. این API از فرمت پیام واقعی ارسال شده که نیاز به مشخص شدن دارد استفاده می کند و اگر توسعه دهنده ترجیح می دهد تا با ارسال پیام و ارسال مدل به جای یک فراخوانی از راه دور کار کند.
  • هاب ها
    این API سطح بالا نوشته شده در طول PersistentConnection است. این API اجازه می دهد تا مشتری و سرور به طور مستقیم با روش ها بر روی یکدیگر فراخوانی کنند.

فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی
  • عناوین فصل اول : ساخت سیستم چت تحت وب
    • مقدمه ای بر SignalR
    • بررسی روند کلی و فرایند SignalR
    • بررسی پیش نیازهای لازم جهت استفاده از SignalR
    • ساخت پروژه در محیط ویژوال استادیو 2015
    • نصب و پیکربندی SignalR
    • استفاده از ابزار FireBug جهت Debug کردن و خطایابی پروژه
    • انواع روش ایجاد Hub ها
    • پیکربندی Hub
    • بررسی صحیح بودن پیکربندی Hub ها از طریق signalr/hubs/
    • نوشتن کدهای سمت کلاینت توسط JavaScript
    • طراحی صفحه سیستم چت
    • ایجاد قابلیت چت کردن در گروه های مختلف
    • بررسی روش Web Socket در ارسال پیام بین کلاینت ها و سرور
    • افزودن Validation سمت کلاینت جهت الزام نمودن وارد کردن نام کاربر و پیام
    • اضافه کردن Override Connections در پشت صحنه پروژه جهت مدیریت عمر Connection
    • کد نویسی ارسال پیام نشدن تا زمان برقراری Connection
    • در نهایت تولید سیستم چت
  • عناوین فصل دوم : انجام عملیات CRUD به وسیله SignalR با استفاده از پلتفرم Asp.net MVC و تکنولوژی EF و Ajax
    • ایجاد پروژه Asp.net MVC
    • نصب پکیج EntityFramework
    • نصب پکیح SignalR
    • ساخت جدول مربوطه
    • فعال سازی Migration
    • پیکربندی SignalR و Hub
    • ایجاد Controller و نوشتن Action های مربوط به 4 عمل اصلی CRUD
    • استفاده از JqueryAjax برای نمایش , اضافه , حذف , ویرایش اطلاعات
    • ایجاد View برای Insert , Update , Delete
    • ایجاد PartialView برای نمایش اطلاعات ذخیره شده در دیتابیس در صفحه اصلی
    • استفاده از JSON.stringify برای تبدیل اشیاء به Json
    • مطلع شدن تمامی Client ها در مورد اخرین تغییرات لحاظ شده در دیتابیس و سرور
    • رفع باگهای پروژه
    • و در اخر : توضیحات تکمیلی در مورد روند کلی پروژه اصلی

برای یادگیری SignalR چه چیز را باید از قبل بدانیم !
قبل از اینکه مطالعه ی آموزش SignalR (سیگنال ار) را شروع کنید، شما باید دانش پایه ای(حداقلی) از موارد زیر را داشته باشید

  1. سی‌اس‌اس - (CSS)
  2. اچ‌تی‌ام‌ال - (HTML)
  3. جی‌کوئری - (jQuery)
  4. جاوااسکریپت - (JavaScript)

موردی یافت نشد