تعریف NET Remoting .

NET Remoting. یکی از APIهای مایکروسافت است که در سال 2002 با .NET Framework 1.0 منتشر شد . سیستمی کلی برای برقراری ارتباط بین Applicationهاست .

آکادمی برنامه نویسان ، برگزار کننده دوره های آموزش برنامه نویسی با استفاده از اساتید مجرب و حرفه ای در سراسر ایران .

[ جهت مشاهده دوره های درحال ثبت نام کلیک کنید ]

ارائه مدارک معتبر آموزشی و ورود به بازار کار .

یک بازه زمانی در صنعت نرم افزار زمانیکه مفهوم  "reusability" اغلب تکرار می شود، وجود دارد . کاربران شروع به استفاده مجدد از کد source-level می کنند.این دلیل مشکل در نامگذاری برخورد در یک برنامه طولانی می باشد . همان کد کپی شده و در نقاط مختلف جهان مورد استفاده قرار می گیرد .این جایی است که ویندوز به کاربران اجازه می دهد تا کد ها را در سطح باینری با استفاده از DLL برای توسعه بیشتر به اشتراک بگذارند . مثالی از مطالبی که در سایت Microsoft خوانده می شوند ، از Microsoft word استفاده می کنیم و برخی محتوا را از آن در Excel کپی می کنیم . دو Windows application و برنامه نویسی مختلف وجود دارد اگر تابحال عملکرد آن را بررسی نکرده اید،حالا درباره آن تفکر کنید . بسیار جالب است ، اگر در Google درباره آن جستجو کنید،توضیحاتی درباره اجزای COM ارائه می دهد . COM اختصار یافته Component Object Model است که در ویندوز مورد استفاده قرار می گیرد جایی که کد های باینری به شکل DLL به اشتراک گذاشته می شوند. Microsoft راه را برای دو نرم افزار مختلف درحال توسعه هموار می کند برای استفاده از کدهای همزمان هنگامیکه به باینری تبدیل می شوند .

NET Remoting.

سیستم عامل های قدیمی تر با اجرای فر آیندها بصورت موازی بدون برخورد به چند وظیفه ای دسترسی داشتند . به این معنی که هر فرآیند بصورت مستقل بدون برخورد اجرا خواهند شد . این برای زمانی بود کهNET Framework. اختراع نشده بود. با ظهور NET Framework. تغییر فوق العاده ای در فناوری و RAD ایجاد شد . سیستم عامل های اخیر دارای فرآیند هایی هستند که دامنه های کابرد را ترکیب می کنند .دامنه کاربرد زمان اجرای روند منطقی را در فرایند فیزیکی نمایش می دهد . هر فرآیند دامنه کاربرد دارد که در آن اجرا می شود . درهمین روش دو تعامل windows application  از COM  استفاده می کنند، برای این دامنه ها امکان ارتباط با یکدیگر در فرآیند یکسان یا فرآیندهای مختلف وجود دارد . بنابراین چگونه می توان آن را انجام داد ؟ این جایی است که NET Remoting. به تصویر می آید . NET Remoting. به دو دامنه کاربرد مستقل برای تعامل میان خود اجازه می دهد . این تعاملات انجام شده از دو نوع پروتکل معمول استفاده می کنند :TCP و HTTP. در TCP تعامل بصورت باینری انجام می شود  و در HTTP تعامل بصورت جریان  SOAP انجام می شود.

NET Remoting. چارچوبی است که شما می توانید در کامپیوتر سرور از کامپیوتر شما  متد ها یا object ها را بکار ببرید. همچنین می توانیم تماس های غیرهمزمان در  NET .Remoting با استفاده از callback delegate  داشته باشیم .اینها مفاهیم پیشرفته تر از DCOM ، COM و... هستند.

نحوه انجام NET Remoting.

به منظور انجام NET Remoting. به یک سرور نیاز داریم که نمونه هایی از سرویس های Remoting را در خود نگهداری می کند و یک client که برای استفاده از Remoting object به سرور متصل می شود . البته ممکن است بیشتر از یک client در یک سرور از این سرویس استفاده کنند . client بدون استفاده از کلاس Proxy مفهوم object ها در Remote را درک نخواهد کرد . کلاس های Proxy در سرویس های وب استفاده می شوند . از یک کلاس proxy واضح استفاده می کنیم . زمانی که متد های این Proxy را بکار می بریم، proxy این پیغام ها را به سرور  NET Remoting. باز می گرداند . همه کلاس های NET Remoting.از کلاسی بنام MarshalByRefObject ارث بری می کنند. همه Remoting objects باید از این کلاس ارث بری کنند .

این پیکربندی به شکل فایل XML انجام شده است . برای مثال:

RemotingConfiguration.Configure(“severconfigureationfile.config”);

در پیکربندی فایل XML ،نیاز به تعیین نوع،Url و نحوه سرویس های تماس داریم . همه اینها باید داخل یک تگ و در بخش شناخته شده باشند.

در سمت client همین کار با تغییرات جزئی خواهد بود .

دراینجا مشکل ایجادobject ها واضح است و باید مشاهده کنیم که این object ها چگونه فعال می شوند . این object ها با استفاده از فعال سازی Client و Server فعال می شوند .

فعال سازی سرور شامل دو مرحله می یاشند که عبارتند از :   singleton و  singlecall .

با استفاده از singleton، می توانید یک نمونه از server object ایجاد کنید و همه object های ایجادشده در client فقط مرجعی از server object خواهند بود .

با استفاده از singlecall ، میتوانید تعدادی از نمونه های سرور را ایجاد کنید . همچنین می توانید براحتی چندین نمونه از Remoting server ایجاد کنید .

فعال سازی Client اشیا نیز می تواند انجام شود بطوریکه می توانید هر تعداد نمونه از client ایجاد کنید و مشابه همان در سرور انجام خواهد شد . بسادگی می توانید چندین نمونه از Remoting server ایجاد کنید .

بین client  و یک remote server ارتباط برقرار می کنیم . client بر روی تقاضا به سرور دسترسی خواهد داشت . زمانی که استفاده از یک object در نرم افزار NET. به پایان رسید ، NET Framework. را برای جمع آوری موارد بی ارزش اجرا می کند .هر .NET Remoting object ده دقیقه زمان برای اتصال دارد . اگر Remoting client در بیشتر از 10 دقیقه به server object متصل نشود ، ارتباط بین سرور و client نگهداری نخواهد شد .

اگر client با سرور در 10 دقیقه ارتباط برقرار کرد 2 دقیقه زمان تمدید برای قطع اتصال وجود دارد ، به عبارت دیگر 2 دقیقه اضافه بر ای هر درخواست صبر می کند ، همچنین می توانیم یک sponsershiptime تنظیم کنیم یعنی می توانیم 10 دقیقه پیش فرض را به زمان دلخواه تغییر دهیم .