تحلیل داده
صفحه اصلی / آموزش طراحی وب / آموزش ASP.NET / معرفی و بررسی SignalR

معرفی و بررسی SignalR

بررسی SignalR

این مقاله ایده اولیه ای درباره API جدید توسعه دهندگان به نام SignalR را می دهد.

بررسی SignalR

در اپلیکیشن های ASP.NET قبلی، کاربران برای مشاهده داده های جدید صفحه را refresh می کردند یا صفحات برای بازیابی داده های جدید از “long polling” استفاده می کردند، به عنوان مثال، زمانی که داده های جدید به سرور می رسند، به طور مستقیم به همه کلاینت ها یا کلاینت های خاصی منتقل نمی شوند، به همین دلیل کاربر باید صفحه را refresh کند و صفحه به روزرسانی شود.

برای مثال، می توانید به cricinfo.com بروید، مشاهده می کنید که یک صفحه برای یک یا دو ثانیه و چندین بار refresh می شود و امتیاز به روزرسانی نمی شود. در چنین موقعیت هایی لازم است که از API جدید مایکروسافت به نام “SignalR” استفاده نماییم.

SignalR چیست؟

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

SignalR عملکرد “server push” و “broadcasting” را پشتیبانی می نماید. مدیریت اتصال را به طور اتوماتیک کنترل می کند. در اتصالات قدیمی HTTP برای ارتباط کلاینت-سرور برای هر درخواست دوباره برقرار می شود، اما SignalR یک ارتباط پایدار بین کلاینت و سرور برقرار می کند. در SignalR به جای مدل درخواست-پاسخ امروزی، کد سرور، کد کلاینت را با استفاده از Remote Procedure – RPC در مرورگر فراخوانی می کند. SignalR یک API اپن سورس است و از طریق GitHub قابل دسترسی است.

موارد استفاده:

  1. اپلیکیشن های چت روم
  2. اپلیکیشن های مانیتورینگ بلادرنگ
  3. به روزرسانی های پیشرفت کار
  4. فرم های بلادرنگ

مورد استفاده SignalR در اپلیکیشن چت روم را می توانید در تصویر زیر مشاهده نمایید:

بررسی SignalR

در مثال بالا، به محض اینکه user2 پیام هایی را ارسال می کند، توسط کاربران دیگر دریافت می شود.

جزئیات API

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

  1. API اتصال پایدار دسترسی مستقیمی به سطح پایین پروتکل اتصالی را که SignalR ارائه می دهد، به برنامه نویس می دهد. این API از فرمت واقعی پیام ارسال شده استفاده می کند که لازم است مشخص شود و اگر برنامه نویس ترجیح دهد که به جای فراخوانی از راه دور با پیام ها کار کند از آن استفاده می شود.
  2. Hubs: سطح بالایی از API نوشته شده روی اتصال پایدار است. این API به کلاینت و سرور اجازه می دهد تا متدهای یکدیگر را به طور مستقیم فراخوانی نمایند. Hubs همچنین اجازه می دهد که پارامترهای strongly typed را به متدها ارسال کرد و اتصال مدل را فعال می سازد.

کد

مراحل:

  1. ویژوال استودیو را باز می کنیم.
  2. یک پروژه جدید ایجاد کرده، ASP.NET Empty Web Appliction را انتخاب و نام آن را “ChatRoomApplication” می گذاریم.
  3. به منوی Tools رفته و Package Manager Console را باز می کنیم.
  4. اگر Nuget Package Manager console را نداشته باشیم پس آن را دانلود می کنیم. برای این کار به Tools Extension Manager رفته و در کادر جستجو “NuGet Package Manager” را وارد کرده و آن را دانلود می کنیم.
  5. Package Manager console را باز می کنیم. (Tools Library Package Manager Package Manager Console).
  6. دستور “install-Package Microsoft.AspNet.SignalR” را اجرا می کنیم.
  7. این کار رفرنس های SignalR DLL را به اپلیکیشن ما اضافه می کند.
  8. در پنجره Solution Explorer روی نام پروژه راست کلیک کرده و کلاس “ChatHub” را اضافه می کنیم. یک فایل ChatHub.cs اضافه خواهد شد.
  9. این کلاس را از کلاس Hub مشتق می کنیم که باید به شکل زیر دربیاید:
public class ChatHub : Hub
{
}

متد Send را در کلاس ChatHub می نویسیم:

public class ChatHub : Hub
{
    public void Send(string name, string message)
    {
        Clients.All.sendMessage(name,message);
    }
}

۱۰. حالا فایل Global.asax را به اپلیکیشن اضافه می نماییم. و در رویداد application_start، hub خود را به وسیله RouteTable.RoutesMapHubs() نگاشت می کنیم. به شکل زیر:

protected void Application_Start(object sender,EventArgs e)
{
    RouteTable.Routes.MapHubs();
}

۱۱. حالا یک صفحه ASPX با نام default.aspx اضافه می کنیم.

۱۲. کد زیر را در بخش Head ضافه می کنیم.

۱۳. کد زیر را به قسمت Body کپی می کنیم.



<div>
<input type="text" id="msg" />
<input type="button" id="send" value="Send" />
<input type="hidden" id="displayname" />

<ul id="messages">
</ul>

</div>


۱۴. به همین ترتیب، حالا برنامه را اجرا می کنیم، چندین پنجره از مرورگر باز کرده و آدرس مشابه را در آن ها کپی می کنیم. و یک پیام را در textbox تایپ می کنیم، روی دکمه ارسال کلیک می نماییم و مشاهده می کنیم که پیام در همه مرورگرها نمایش داده می شود.



رمز فایل : www.mspsoft.ir , www.mspsoft.com
کانال ام اس پی سافت

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *



دوره های آنلاین ام اس پی سافت

آموزش طراحی فروشگاه اینترنتی

آموزش طراحی فروشگاه اینترنتی

طراحی سیستم مدیریت مشتریان

طراحی سیستم مدیریت مشتریان

دوره طراحی وب سایت پورتال خبری

دوره طراحی وب سایت پورتال خبری

دوره طراحی حسابداری فروشگاه

دوره طراحی حسابداری فروشگاه