دوره آموزشی SignalR به زبان فارسی
بسم الله الرحمن الرحیم
دوره آموزشی SignalR به زبان فارسی
آموزش SignalR بخش چهارم
بخش پنجم- شروع ایجاد پروژه SignalR
بخش ششم - مروری بر مفاهیم SignalR
بخش هفتم- ایجاد پروژه Chat با SignalR
بخش هشتم - ایجاد پروژه Chat با SignalR در ASP.NET MVC
بخش نهم- ساخت یک Timer سمت سرور با SignalR
بخش دهم - آموزش ساخت یک پروژه SignalR با SQLDepedency در ASP.NET MVC
SignalR از نسخه های مختلف سرور و کلاینت پشتیبانی می کند. در هر روش ارسال و دریافت، نیازمندی های نرم افزاری و سخت افزاری متفاوت است. اگر امکانات و نیازمندی های لازم برای ارسال و دریافت در دسترس نباشد، SignalR به خوبی می تواند از روش های قدیمی استفاده کند. برای اطلاعات بیشتر در خصوص روش های ارسال و دریافت توسط SignalR می توانید به این مقاله مراجعه کنید.
نیازمندی های سرور در SignalR
SignalR می تواند توسط نسخه های مختلف سرور پشتیبانی شود، در این بخش ما اجزا مختلف سرور که مورد نیاز SignalR است را بررسی می کنیم.
سیستم عامل هایی که توسط SignalR پشتیبانی می شوند
SignalR می تواند توسط نسخه های سرور و حتی سیستم عامل های کلاینت اجرا شود، البته همانطور که قبلا گفته شد برای استفاده از روش WebSockets در SignalR باید حتما از Windows 8 یا Windows Server 2012 استفاده کنیم. WebSocket می تواند از وب سایتهای Windows Azure در صورتی که .NET framework نسخه 4.5 تنظیم شده باشد و تنظیمات WebSocket نیز در صفحات فعال شده باشد استفاده کرد.
• Windows Server 2012
• Windows Server 2008 r2
• Windows 8
• Windows 7
• Windows Azure
نسخه NET framework. برای سرور SignalR
در این آموزش ما می خواهیم با SignalR 2 کار کنیم و SignalR 2 فقط در .NET framework 4.5 پشتیبانی می شود.
نسخه IIS برای سرور SignalR
سرور شما برای اجرا کردن SignalR می بایست از IIS های زیر استفاده کند.
اگر شما از سیستم عامل های کلاینت استفاده می کنید، مانند زمانی که می خواهید کد نویسی کنید و از Windows 8 یا Windows 7 استفاده می کنید نباید از نسخه کامل IIS استفاده کنید. زمانی که شما محدودیتی به تعداد 10 Connection همزمان داشته باشید، در صورتی که Connection ها گذرا باشند، خیلی سریع محدودیت شما اتفاق می افتد، این ارتباط به صورت متناوب مجددا ایجاد می شود (re-established) و همچنین وقتی ارتباطی برای مدت زمان طولانی مورد استفاده قرار گرفته باشد، ارتباط به سرعت از بین نمی رود.
یک کلام، از IIS Express در سیستم عامل های کلاینت استفاده کنید.
همچنین در نظر داشته باشید برای استفاده کردن از WebSocket در SignalR باید از IIS 8 یا IIS 8 Express استفاده کنید، برای سرور باید Windows 8 یا Windows Server 2012 استفاده شود و یا نسخه های قدیمی تری که WebSocket بر روی IIS آنها فعال است.
در این مقاله نحوه فعال کردن WebSocket بر روی IIS 8 توضیح داده ایم.
• IIS 8 or IIS 8 Express.
• IIS 7 and 7.5. Support for extensionless URLs is required.
• IIS باید به صورت integrated اجرا شود، classic mode پشتیبانی نمی شود. با استفاده از روش ارسال و دریافت Server-Sent Events اگر IIS در حالتclassic اجرا شود ممکن است پیام های ارسالی تا 30 ثانیه تاخیر داشته باشند.
• برنامه هاست باید در حالت full trust mode اجرا شود.!
نیازمندی های نسخه کلاینت برای اجرا SIgnalR
SignalR می تواند در نسخه های مختلف و پلتفرم های مختلف کلانت اجرا شود. بخش زیر در مورد نسخه های مختلف
Web Browser, Windows desktop applications, Silverlight applications, mobile devices
توضیح می دهد.
Web browsers برای SignalR
SignarlR می تواند در نسخه های مختلف Web browsers استفاده می شود، اساسا دو نسخه آخر مرورگر می تواند از SignalR استفاده کند.
Application هایی که از SignarlR استفاده می کند باید در مرورگر خود از jQuery version 1.6.4 یا از نسخه های اصلی قدیمی تر مثل 1.7.2, 1.8.2, 1.9.1 استفاده کند.
مرورگرهای زیر می توانند از SignarlR استفاده کنند:
• Microsoft Internet Explorer versions 8, 9, 10, and 11. Modern, Desktop, and Mobile versions are supported.
• Mozilla Firefox: current version - 1, both Windows and Mac versions.
• Google Chrome: current version - 1, both Windows and Mac versions.
• Safari: current version - 1, both Mac and iOS versions.
• Opera: current version - 1, Windows only.
• Android browser
علاوه بر نیاز به مرورگرهای مختلف، انواع روش های مختلف ارسال و دریافت در SignalR با توجه به نوع خود، نیازمندی های مشخصی دارد.
در هر یک از روش های انتقال زیر نیازمندی های هر مرورگر مشخص شده است.
نیازمندی های مرورگرها برای روش های مختلف ارسال و دریافت اطلاعات در SignalR
روش انتقال/مرورگر |
Internet |
Chrome |
Firefox |
Safari |
Android |
WebSockets |
10+ |
current - 1 |
current - 1 |
current - 1 |
N/A |
Server-Sent Events |
N/A |
current - 1 |
current - 1 |
current - 1 |
N/A |
ForeverFrame |
8+ |
N/A |
N/A |
N/A |
4.1 |
Long Polling |
8+ |
current - 1 |
current - 1 |
current - 1 |
4.1 |
مرورگرهایی که پشتیبانی نمی شوند
هرچند شا ممکن است بتوانید در نسخه های قدیمی Browser از SignalR استفاده کنید اما مشکلاتی را خواهید داشت، که این مشکلات و Bug ها قابل برطرف شدن نیستند.
برای مشاهده لیستی از پیکربندی های مورد نیاز برای هر مرورگر می توانید از این آدرس استفاده کنید.
Windows Desktop و Silverlight Applications در SignalR
علاوه بر اجرا شدن در web browser، SignarlR می تواند در یک ویندوز standalone یا Silverlight applications هاست شود.
Windows Desktop و برنامهSilverlight SignalR باید از نیازمندی های زیر را داشته باشد.
1. برنامه هایی که از .NET 4 استفاده می کنند در ویندوز XP SP3 یا قدیمی تر پشتیبانی می شوند.
2. برنامه هایی که از .NET Framework 4.5 استفاده می کنند در ویندوز ویستا یا قدیمی تر پشتیبانی می شوند.
علاوه بر سیستم عامل و.NET Framework 4.5 نیازمندی های دیگری نیز وجود دارد. روش های انتقال موجود در SignalR هر کدام وابسته به نوع خود نیازمندی های خود را دارند. در زیر هر یک از روش های انتقال به همراه نیازمندی های آن مشخص شده است.
نیازمندی های انتقال اطلاعات در Windows Desktop و Silverlight Applications با استفاده از SignalR
روش انتقال / نیازمندی ها |
.NET application |
Silverlight |
Web Sockets |
Windows 8+ and .NET 4.5+ |
N/A |
Forever Frame |
N/A |
N/A |
Server-Sent Events |
.NET 4+ |
5+ |
Long Polling |
.NET 4+ |
5+ |
Windows Store و Windows Phone Applications
SignalR می تواند درWindows Store و Windows Phone Applicationsمورد استفاده قرار گیرد. پیکربندی های مورد نیاز برای هر یک از روش های انتقال در جدول زیر مشخص شده است.
|
Windows Store/ |
Windows Store/ |
Windows Phone/ |
Windows Phone/ |
WebSockets |
N/A |
Win8+ |
8+ |
N/A |
Forever Frame |
N/A |
Win8+ |
7.5+ |
N/A |
Server-Sent Events |
Win8+ |
N/A |
N/A |
8+ |
Long Polling |
Win8+ |
Win8+ |
7.5+ |
8+ |
بروزرسانی و Update هایی که بهتر است انجام دهید.
برای سرور SignalR بروزرسانی .NET Framework 4.5 را می توانید از اینجا انجام دهید.