موضوع مقاله: دات نت از راه دور | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # دات نت از راه دور | مقدمه: دات نت از راه دور مانند فناوری‌های مشابه کوربا و فراخوانی متد راه دور جاوا (RMI)پیچیده است، اما ماهیت آن ساده است. | ## بخش 1: دات نت از راه دور | با کمک عامل های سیستم عامل و شبکه، پردازه‌ی کلاینت پیامی را به پردازه‌ی سرور ارسال می کند و پاسخ را دریافت می کند. نمای کلی دات نت از راه دور این امکان را به برنامه می‌دهد تا یک شئ (که به آن شئ قابل دسترسی از راه دور گفته می‌شود) را در گستره هایی از راه دور قابل دسترس کند . این گستره ها می تواند شامل دامنه های برنامه ها، پردازه ها و حتی کامپیوتر های دیگر متصل به یک شبکه باشد . در برنامه کلاینت هر درخواستی به شئ قابل دسترسی از راه دور از طریق اجراکننده دات نت از راه دور مخابره می شود. این کار تحت شئ ای به نام کانال Channel انجام می شود که روش اصلی انتقال این پیام را در بر می گیرد. به همین دلیل، با توجه به در بر گرفتن پروتکل های ارتباطی توسط شئ Channel ، ایجاد یک کانال مناسب می تواند این امکان را به برنامه بدهد که بدون کامپایل کردن مجدد، تحت این پروتکل ها اطلاعات را مخابره کند. همچنین خود اجراکننده دات نت از راه دور وظیفه سریال سازی و مارشال کردن داده ها را برای کلاینت و سرور انجام خواهد داد. | ## بخش 2: دات نت از راه دور | دات نت از راه دور یک شئ قابل دسترسی از راه دور را به کلاینت یک برنامه ارجاع می دهد که کلاینت می تواند آن را به گونه ای مورد استفاده قرار دهد که انگار از ابتدا در همانجا بوده است. یک شی از راه دور توسط URL های فعال سازی شناسایی می شود و با اتصال به URL قابل استفاده می شود. زمانی که سرور، کانال مورد نیاز برای ارتباط با شئ از راه دور را ثبت می کند اجرا کننده دات نت از راه دور یک شئ شنونده را ایجاد می کند. در کلاینت، دات نت از راه دور یک واسطه proxy ایجاد می کند که به جای شئ قابل دسترسی از راه دور تلقی می شود. عملکرد شئ قابل دسترسی از راه دور را پیاده سازی نمی کند فقط یک بستر برای استفاده در اختیار می گذارد. بنابراین، بستر راه دور باید قبل از رابط عمومی شئ قابل دسترسی از راه دور را بداند. در هر فراخوانی توابع قابل دسترسی از راه دور‌‌‌، اطلاعات این فراخوانی به همراه پارامتر های شئ مورد استفاده به یک جریان بایت سریال می شود و از طریق یک شئ Channel که وابسته به پروتکل ارتباطی است منتقل می شود. | ## بخش 3: دات نت از راه دور | در سمت سرور، پروکسی جریان را از سینک می‌خواند و از طرف کلاینت با شی قابل دسترسی از راه‌ دور تماس می‌گیرد. نتایج سریال می شوند و از طریق سینک به کلاینت منتقل می شوند، جایی که پروکسی نتیجه را می خواند و آن را به برنامه انتقال می دهد. اگر شئ راه دور نیاز به برقراری تماس با یک شئ کلاینت برای برخی از خدمات داشته باشد، برنامه سرویس گیرنده باید آن را به عنوان قابل دسترس از راه دور علامت گذاری کند و یک شنونده میزبان از راه دور داشته باشد. سرور می تواند از طریق یک کانال دیگر یا از طریق کانال موجود به آن متصل شود اگر اتصال زیرین از ارتباط دو طرفه پشتیبانی می کند. یک کانال می‌تواند از تعدادی شئ کانال مختلف ایجاد شده باشد که ممکن است هر کدام از انتقال‌های ناهمگن مختلف تشکیل شده باشند. بنابراین، دسترسی و فراخوانی از راه دور می‌تواند در سیستم‌هایی که توسط شبکه‌های ناهمگن، از جمله اینترنت، از هم جدا شده‌اند، کار کند. تماس های آسنکرون را می توان با استفاده از کتابخانه های مدیریت ریسه‌ها پیاده سازی کرد. | ## جمع‌بندی | همچنین می‌توان اشیاء با قابلیت دسترسی از راه دور را در IIS میزبانی کرده و سپس سیستم مدیریت دسترسی را با استفاده از سیستم احراز هویت IIS برای کلاینت ها پیاده سازی کرد.