فریم ورک ASP.NET Web API صرفا برای ساخت سرویسهای سادهای که میشناسیم، نیست و در واقع مدل جدیدی برای برنامه نویسی HTTP است. کارهای بسیار زیادی را میتوان توسط این فریم ورک انجام داد که در این مقاله به یکی از آنها میپردازم. فرض کنید میخواهیم یک فایل ویدیو را بصورت Asynchronous به کلاینت ارسال کنیم.
ابتدا پروژه جدیدی از نوع ASP.NET Web Application بسازید و قالب آن را MVC + Web API انتخاب کنید.
ابت ...
اجرای Async اعمال نسبتا طولانی، در برنامههای مبتنی بر داده، عموما این مزایا را به همراه دارد:
الف) مقیاس پذیری سمت سرور
در اعمال سمت سرور متداول، تردهای متعددی جهت پردازش درخواستهای کلاینتها تدارک دیده میشوند. هر زمانیکه یکی از این تردها، یک عملیات blocking را انجام میدهد (مانند دسترسی به شبکه یا اعمال I/O)، ترد مرتبط با آن تا پایان کار این عملیات معطل خواهد شد. با بالا رفتن تعداد کاربران یک برنامه و در نت ...
به صورت پیش فرض، Rx هر بار تنها یک مقدار را بررسی میکند. اما گاهی از اوقات نیاز است تا در هربار، بیشتر از یک مقدار دریافت و پردازش شوند. برای این منظور Rx متدهای الحاقی ویژهای را به نامهای Buffer ،Scan و Window تدارک دیدهاست تا بتواند از یک توالی، چندین توالی را تولید کند (توالی توالیها = Sequence of sequences).
متد Scan
فرض کنید قصد دارید تعدادی عدد را با هم جمع بزنید. برای اینکار عموما عدد اول با عدد د ...
پس از معرفی و مشاهدهی نحوهی ایجاد توالیها در Rx ، بهتر است با نمونهای از نحوهی استفاده از آن در یک برنامهی WPF آشنا شویم.
بنابراین ابتدا دو بستهی Rx-Main و Rx-WPF را توسط نیوگت، به یک برنامهی جدید WPF اضافه کنید: PM> Install-Package Rx-Main
PM> Install-Package Rx-WPF
فرض کنید قصد داریم محتوای یک فایل حجیم را به نحو ذیل خوانده و توسط Rx نمایش دهیم. private static IEnumerable<string> r ...
در مطلب « معرفی Reactive extensions » با نحوهی تبدیل IEnumerableها به نمونههای Observable آشنا شدیم. اما سایر حالات چطور؟ آیا Rx صرفا محدود است به کار با IEnumerableها؟ در ادامه نگاهی خواهیم داشت به نحوهی تبدیل بسیاری از منابع داده دیگر به توالیهای Observable قابل استفاده در Rx.
روشهای متفاوت ایجاد توالی (sequence) در Rx
الف) استفاده از متدهای Factory
1) Observable.Create
نمونهای از است ...
Reactive extensions یا به صورت خلاصه Rx ،کتابخانهی سورس باز تهیه شدهای توسط مایکروسافت است که اگر بخواهیم آنرا به سادهترین شکل ممکن تعریف کنیم، معنای Linq to events را میدهد و امکان مدیریت تعاملهای پیچیدهی async را به صورت declaratively فراهم میکند. هدف آن بسط فضای نام System.Linq و تبدیل نتایج یک کوئری LINQ به یک مجموعهی Observable است؛ به همراه مدیریت مسایل همزمانی آن.
این افزونه جزو موفقترین کتابخانههای دات نتی ...
هنگام تولید و توسعه سیستمهای مبتنی بر WCF حتما
نیاز به سرویس هایی داریم که متدها را به صورت Async اجرا کنند. در دات نت
4.5 از Async&Await استفاده میکنیم(^). ولی در پروژه هایی که تحت دات نت 4 هستند این امکان وجود ندارد(البته میتونید Async&Await CTP رو برای دات نت 4 هم نصب کنید(^
)). فرض کنید پروژه ای داریم تحت دات نت 3.5 یا 4 و قصد داریم یکی از
متدهای سرویس WCF آن را به صورت Async پیاده سازی کنیم. سادهترین روش این
...
در این رابطه آقای راد در دو قسمت به صورت مختصر و مفید این کتابخانه قدرتمند رو همراه با ارائه چندین مثال کاربردی معرفی کردند:قسمت اولقسمت دوم
در تکمیل قسمتهای فوق بنده میخوام مثالی رو در این رابطه براتون بذارم، هدف از ارائه این مثال اتوماتیک سازی یک فرآیند روتین میباشد، به این صورت که در جایی که بنده مشغول به کار هستم یک سری لایسنس آنتی ویروس برای ...
در این مطلب میخوام روش استفاده از Async&Await رو براتون بگم. Async&Await خط و مشی جدید Microsoft برای تولید متدهای Async هستش که نوشتن این متدها رو خیلی جذاب کرده و کاربردهای خیلی زیادی هم داره. مثلا هنگام استفاده از Web Api در برنامههای تحت ویندوز نظیر WPF این روش خیلی به ما کمک میکنه و در کل نوشتن Parallel Programming را خیلی جالب کرده.
برای اینکه بتونم قدرت و راحتی کار با این ابزار رو به خوبی نشون بدم ابتدا یک م ...