DCOM услуга
DCOM функция
Функцията DCOM в Terminal Server 4.0 е подмножество от обикновените DCOM функции на Windows NT Server 4.0. Въз основа на това някои приложения, които са написани в нормалната среда на Windows NT Server 4.0, може да не функционират правилно на терминалния сървър. Целта на тази статия е какъв вид поведение ще възникне, ако приложения, които използват DCOM функции.
Следните функции на DCOM могат да бъдат напълно поддържани на терминалния сървър:
клиент
поведение на клиента (работи като всеки потребител на терминалния сървър и през DCOM Процесът на извикване на други машини не се променя.
Ако няма директен или непряк процес на активиране на COM (COGETCLASSOBJECT, COCREATEINSTANCEEX, процес на стартиране от отдалечено повикване и т.н.), поведението на сървъра не се променя. Например, ако указателят на интерфейса към COM обекта на терминалния сървър се коригира и предаде на клиентския код на друга машина, поведението от страна на сървъра не включва процеса на активиране. Появата на това поведение обикновено е изходните параметри, наречени DCOM метод, но може да има и други начини. В този случай обратното извикване на терминалния сървър (сега DCOM сървър) ще се извърши както обикновено (включително обичайните ограничения за сигурност). Пример за косвено активиране е разрешаване на машината на терминалния сървър и предизвикване на обвързване на файлови тагове, които се опитват да действат директно на машината.
Режим на активиране на DCOM и терминален сървър
Когато работи като отдалечен клиент, системата на терминалния сървър ще ограничи в поддържания режим на активиране/стартиране на DCOM. За всеки даден ClassID или APPID DCOM на Windows NT обикновено поддържа четири режима на активиране/стартиране.
действа като страна за активиране (по подразбиране): В терминалния сървър локалният процес се стартира от клиентската сесия.
Изпълнявай като определен/назован потребител: В терминалния сървър локалният процес винаги се стартира от сесия 0 (конзола).
се изпълнява като Win32 и Windows NT услуги: В терминалния сървър услугата се стартира от сесия 0 (конзола).
работи като интерактивен потребител: не може да се използва в терминалния сървър.
За терминалния сървър се поддържа напълно само режим 1 („задействан като страна за активиране“). Модели 2 и 3 („Изпълнение като определен/именуван потребител“ и „Изпълнение като Win32 и Windows NT услуга“) В системата на терминалния сървър се изпълняват различни поведения, така че Microsoft не се препоръчва или поддържа. Четвъртият режим („Като интерактивен потребител работи“), той изобщо не може да се стартира на терминалния сървър.
DCOM и Windows 2000 терминални услуги
Целта на Microsoft е да гарантира, че горните проблеми могат да бъдат решени в Windows 2000. Следното е кратко описание на режима на активиране и неговия работен механизъм за Microsoft Windows® 2000 Terminal Services:
действа като активираща страна:
Локално активиране
сървър Активиран в същата сесия, към която принадлежи страната за активиране. Това поведение е абсолютно същото, независимо дали терминалната услуга е активирана.
Дистанционно активиране:
Активира правилата за активиране, след като терминалната услуга не е активирана. Процесът обаче ще започне в прозоречната станция на сесия ID 0, вместо да започне в сесия, съответстваща на потребителя. Това е за защита на поведението при активиране на отдалечени повиквания. За да се илюстрира причината за това поведение, се приема, че процесът на активиране се активира от сесията на потребителя, съответстващ на потребителя на Windows 2000 Server (разрешени терминални услуги). Ако потребителят излезе, всички прозоречни станции и техните процеси се унищожават. Ако потребителят е влязъл от множество клиенти от сървъра, се решава да излезе от клиент и клиентският процес на други сесии на потребителя няма да може да види техния процес на активиране. Следователно други сесии ще се провалят. Въз основа на тази причина всички процеси ще стартират в прозоречната станция на сесия 0. Тъй като сесия 0 никога няма да бъде изтрита, процесът на отдалечено активиране ще продължи да работи.
Като именуване/указан потребител изпълнява:
Приложението се конфигурира, докато посоченият потребител работи през приложението в системния регистър. Локалното и дистанционното активиране е едно и също.
Когато терминалната услуга е активирана, процесът ще започне в нова прозоречна станция на сесия 0. В случай на множество потребители, използващи сървъра, следващите заявки ще имат един и същ обект на клас. SID или LUID на повикващия няма ефект. В случай, че един потребител използва сървъра, новите заявки за активиране винаги получават нова прозоречна станция. Дори ако същият потребител влезе в интерактивния работен плот, процесът на активиране няма да сподели междинната станция.
Стартирайте като услуга Win32 и Windows NT:
Приложението се конфигурира като изпълняващ услуга процес чрез набора AppID.
След като терминалната услуга е активирана, услугата все още е глобална и не стартира в определена сесия. В зависимост от конфигурацията на услугата, те се стартират или на работния плот на услугата от сесия 0, и се стартират на работния плот за взаимодействие на сесия 0.
Като интерактивен потребител:
приложението е конфигурирано да работи в защитена среда на интерактивен потребител.
Както бе споменато по-горе, Windows NT Server 4.0, Terminal Server Edition не поддържа дистанционно активиране на такива сървъри, което поддържа само локално активиране на сесии към сесии. Има два начина за стартиране на процеса, тъй като интерактивният потребител в състояние, в което терминалната услуга е активирана, е в проучването. Начин за активиране на процеса в друга сесия, различна от текущата, е да се използва "флаг" за сесия. Друг възможен начин е да стартирате процеса, като използвате защитените идентификационни данни за калибриране. Windows 2000 ще предостави по-подробна информация