.NET masofadan boshqarish - .NET Remoting

.NET masofadan boshqarish a Microsoft dastur dasturlash interfeysi (API) uchun protsesslararo aloqa ning 1.0 versiyasi bilan 2002 yilda chiqarilgan .NET Framework. Bu 1990 yilda birinchi versiyasi bilan boshlangan Microsoft texnologiyalari qatoridan biri Ob'ektni bog'lash va ko'mish (OLE) 16-bit uchun Windows. Ushbu texnologiyalarni rivojlantirishning oraliq bosqichlari bo'lgan Komponent ob'ekti modeli (COM) 1993 yilda chiqarilgan va 1995 yilda COM-95 sifatida yangilangan, Tarqatilgan komponent ob'ekti modeli (DCOM), 1997 yilda chiqarilgan (va Active X deb o'zgartirilgan) va COM + bilan birga Microsoft Transaction Server (MTS), 2000 yilda chiqarilgan.[1] Endi u o'rnini bosdi Windows Communication Foundation Ning bir qismi bo'lgan (WCF) .NET Framework 3.0.

Uning oila a'zolari va shunga o'xshash texnologiyalar singari Umumiy ob'ekt so'rovi vositachisi arxitekturasi (CORBA) va Java-ning masofaviy usul chaqiruvi (RMI), .NET Remoting murakkab, ammo uning mohiyati tushunarli. Operatsion tizim va tarmoq agentlari yordamida mijoz jarayoni server jarayoniga xabar yuboradi va javob oladi.[2][3]

Umumiy nuqtai

.NET Remoting dasturga ob'ekt (nomlangan uzoq ob'ekt) bo'ylab mavjud chegaralarni qayta tiklash, turli xillarni o'z ichiga oladi appdomainlar, jarayonlar yoki hatto tarmoq orqali ulangan turli xil kompyuterlar.[4] .NET Remoting ish vaqti tinglovchini ob'ektdagi so'rovlar uchun joylashtiradi appdomain server dasturining. Mijoz oxirida uzoqlashtiriladigan ob'ektga bo'lgan har qanday so'rovlar .NET Remoting ish vaqti tugashi bilan yuboriladi Kanal transport vositalarining haqiqiy rejimini o'z ichiga olgan ob'ektlar, shu jumladan TCP oqimlar, HTTP oqimlar va nomlangan quvurlar. Natijada, to'g'ri ko'rsatma berish orqali Kanal ob'ektlar, .NET Remoting dasturi dasturni qayta kompilyatsiya qilmasdan turli xil aloqa protokollarini qo'llab-quvvatlash uchun amalga oshirilishi mumkin. Ish vaqti o'zi harakatini boshqaradi seriyalash va marshalling mijoz va serverdagi domdomainlar ob'ektlari.[4]

.NET Remoting mijoz ilovasida mavjud bo'lgan masofaviy ob'ektga havola qiladi, so'ngra mahalliy ob'ekt kabi uzoq ob'ektni yaratadi va ishlatadi.[4] Biroq, kodning haqiqiy bajarilishi server tomonida sodir bo'ladi. Masofaviy ob'ekt tomonidan aniqlanadi Faollashtirish URL manzillari va URL-ga ulanish orqali o'rnatiladi.[5] Ob'ekt uchun tinglovchi server uzoqlashtiriladigan ob'ektga ulanish uchun foydalaniladigan kanalni ro'yxatdan o'tkazganda masofadan turib ishlash vaqti bilan yaratiladi. Mijoz tomonidan masofaviy infratuzilma ishonchli vakil Bu uzoqlashtiriladigan ob'ektning psevdo-instantatsiyasi sifatida turadi. U uzoqlashtiriladigan ob'ektning funksionalligini amalga oshirmaydi, ammo shunga o'xshash interfeysni taqdim etadi. Shunday qilib, masofaviy infratuzilma uzoqlashtiriladigan ob'ektning umumiy interfeysini oldindan bilishi kerak. Ob'ektga qarshi qilingan har qanday usul qo'ng'iroqlari, shu jumladan usulning identifikatori va o'tgan har qanday parametrlar ketma-ket bayt oqimiga va aloqa protokoliga bog'liq holda uzatiladi Kanal server tomonidagi qabul qiluvchi proksi-serveriga (""marshalled "), Kanalning transport lavabosiga yozish orqali.[5] Server tomonida proksi lavabo ichidagi oqimni o'qiydi va mijoz nomidan uzoq ob'ektga qo'ng'iroq qiladi. Natijalar seriyalashtiriladi va lavabo orqali mijozga uzatiladi, u erda proksi-server natijani o'qiydi va uni chaqiruvchi dasturga topshiradi.[5] Agar uzoqlashtiriladigan ob'ekt ba'zi bir xizmatlar uchun mijoz ob'ektiga qayta qo'ng'iroqni amalga oshirishi kerak bo'lsa, mijoz ilovasi uni uzoqlashtirilishi mumkin deb belgilab qo'yishi va masofani boshqarish uchun tinglovchiga ega bo'lishi kerak.[5] Server unga boshqa kanal orqali ulanishi mumkin yoki mavjud ulanish ikki tomonlama aloqani qo'llab-quvvatlasa, allaqachon mavjud bo'lgan kanal orqali ulanishi mumkin.[5] Kanal turli xil turli xil ob'ektlardan iborat bo'lishi mumkin, ehtimol ular turli xil bo'lmagan transport vositalariga ega. Shunday qilib, masofadan boshqarish, shuningdek, heterojen tarmoqlarning, shu jumladan Internetning o'zaro aloqasi bilan ajratilgan tizimlar bo'ylab ishlashi mumkin.[5] Xavfsizlik turi tomonidan bajariladi KTS va .NET Remoting ish vaqti. Masofaviy usul qo'ng'iroqlari o'z-o'zidan sinxrondir; asinxron qo'ng'iroqlar oqim kutubxonalari yordamida amalga oshirilishi mumkin. Autentifikatsiya va kirishni boshqarish mijozlar uchun maxsus kanallarni ishlatish yoki uzoq ob'ektlarni joylashtirish orqali amalga oshirilishi mumkin IIS va keyin IIS autentifikatsiya tizimidan foydalaning.[6]

Adabiyotlar

  1. ^ Dasturiy ta'minot texnologiyasining yo'l xaritasi (2001). "Komponent ob'ekti modeli va tegishli imkoniyatlar". Karnegi-Mellon dasturiy muhandislik instituti. Arxivlandi asl nusxasi 2008-05-15 kunlari.
  2. ^ Maklin, Skott; Naftel, Jeyms; Kim, Uilyams (2002). Microsoft .NET Remoting. Microsoft Press.
  3. ^ Rammer, Ingo; Shpuszta, Mario (2005). Murakkab .NET masofadan boshqarish. Apress.
  4. ^ a b v ".NET Remoting Overview".. Olingan 2007-10-23.
  5. ^ a b v d e f ".NET Remote Architecture".. Olingan 2007-10-23.
  6. ^ "Xavfsizlik". MSDN7897878979878. Olingan 2007-10-23.