ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΡΡ ΡΠΈΠΏΠ° MarshalByRefObject Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅Π½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΈΠΊΠ»ΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ MBR-ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»ΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡΡ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΏΠΎΠ·ΠΆΠ΅).
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π’ΠΎ, ΡΡΠΎ Π²Ρ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠΈΠΏ Π² Π²ΠΈΠ΄Π΅ MBV- ΠΈΠ»ΠΈ MBR-ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠΏ System.Windows.Forms.Form ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠΌ MarshalByRefObject. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΎΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ MBR-ΡΠΈΠΏ, Π° Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π² Π΄ΠΎΠΌΠ΅Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠΈΠΏ .NET Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π² Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΡΠΊΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅Ρ MarshalByRefObject, ΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ.Π΅, ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ-ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ (ΡΠΌ. Π³Π»Π°Π²Ρ 13).
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ΅ΡΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ MBR- ΠΈ MBV-ΡΠΈΠΏΠ°ΠΌΠΈ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ MBR-ΡΠΈΠΏΠΎΠ² (ΠΊ MBV-ΡΠΈΠΏΠ°ΠΌ ΡΡΠΎ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ).
ΠΠ°ΡΠΈΠ°Π½ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ MBR-ΡΠΈΠΏΠ°: WKO ΠΈ CAO
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π²ΡΠ±ΠΎΡΠ°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ MBR-ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΊΠΎΠ³Π΄Π° ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠ°ΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠΌ Π΄Π»Ρ ΡΡΠ°ΡΡΠΈΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΠ°ΠΊΠ°Ρ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΠΎΠΏΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΠΎΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ. MBR-ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ, Π° ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»ΠΎΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²ΠΎΠ΅ΠΌ ΠΆΠ΅Π»Π°Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ, Π½ΠΎ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΈΠΏ Π½Π΅ ΡΡΠ°Π·Ρ.
ΠΡΠΈΡΠΈΠ½Π° ΡΠ°ΠΊΠΎΠ³ΠΎ, ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ. ΡΡΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. Π’ΠΎΡΠ½Π΅Π΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ MBR-ΡΠΈΠΏ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π° Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π΄Π²ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ²:
β’ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (Well-Known Object β WKO);
β’ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ, Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ (Client Activated Object β CAO).
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π½Π΅Π΄ΠΎΡΠ°Π·ΡΠΌΠ΅Π½ΠΈΠΉ Π·Π΄Π΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π² Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ .NET, Π²ΠΌΠ΅ΡΡΠΎ Π°ΠΊΡΠΎΠ½ΠΈΠΌΠ° WKO ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ SAO (Server Activated Object β ΠΎΠ±ΡΠ΅ΠΊΡ, Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ). ΠΠΊΡΠΎΠ½ΠΈΠΌ SAO Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠ΅Π»ΠΎΠΌ ΡΡΠ΄Π΅ ΡΡΠ°ΡΠ΅ΠΉ ΠΈ ΠΊΠ½ΠΈΠ³, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ .NET. Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° WKO.
WKO-ΠΎΠ±ΡΠ΅ΠΊΡΡ β ΡΡΠΎ MBR-ΡΠΈΠΏΡ, ΡΠΈΠΊΠ» ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π΄ΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ (ΠΎΡΡΡΠ΄Π° ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊ ΡΠ΅ΡΠΌΠΈΠ½ WKO). ΠΠΎΠΌΠ΅Π½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ WKO-ΡΠΈΠΏΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ Π°Π³Π΅Π½Ρ), Π° Π½Π΅ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ new ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Activator.GetObject(), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
// ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°Π³Π΅Π½ΡΠ° Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
// ΠΡΠ° ΡΡΡΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ WKO-ΡΠΈΠΏΠ°!
object remoteObj = Activator.GetObject(/* ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡβ¦ */);
// ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ WKO-ΡΠΈΠΏΠ°. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
// WKO-ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ReturnMessage().
RemoteMessageObject simple = (RemoteMessageObject)remoteObj;
Console. WriteLine("Π‘Π΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ: {0}", simple.ReturnMΡssage());
Π ΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ Π·Π΄ΡΠ°Π²ΡΠΉ ΡΠΌΡΡΠ»? ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ Π²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡ ΠΏΠΈΠΊΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΡΠ³ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ WKO-ΡΠΈΠΏΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ·ΠΎΠ² ΡΠ»Π΅Π½Π°. Π’Π°ΠΊ ΡΡΠΎ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π²ΡΠ±ΠΎΡΠ°, ΠΊΡΠΎΠΌΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ΅Π³Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ WKD-ΡΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ!
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ MBR-ΠΎΠ±ΡΠ΅ΠΊΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠ°ΠΊ Π‘ΠΠ-ΠΎΠ±ΡΠ΅ΠΊΡ. Π¦ΠΈΠΊΠ» ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΠ-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ Π‘ΠΠ-ΡΠΈΠΏΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΆΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° new (Ρ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ ΡΠΈΠΏΠ°) ΠΈΠ»ΠΈ ΡΠΈΠΏΠ° Activator.
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ WKO-ΡΠΈΠΏΠ°: ΡΠΈΠ½Π³Π»Π΅ΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΠ±ΠΎΡΠ° Π΄Π»Ρ MBR-ΡΠΈΠΏΠΎΠ² Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ .NET ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ WKO-ΡΠΈΠΏΡ. Π‘ Π‘ΠΠ-ΡΠΈΠΏΠ°ΠΌΠΈ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ Π‘ΠΠ-ΡΠΈΠΏΠΎΠΌ (ΡΡΠΈ ΡΠΈΠΏΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΡΠΌΡΠ»ΡΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²).
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ WKO-ΡΠΈΠΏΠ° Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠ½Π³Π»Π΅ΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΅Π΄Π° CLR ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΠΏΠ°, ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ΅Π΄Π° CLR ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π² Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΠΉ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π°ΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΡΠ΄ΡΡ ΡΠ΅Π΅Π½ΡΠ΅ΡΠ°Π±Π΅Π»ΡΠ½Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΡΡ, ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² Π³Π»Π°Π²Π΅ 14,
Π ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΠ½Π³Π»Π΅ΡΡ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° - ΡΡΠΎ WKO-ΡΠΈΠΏ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠΎΡΡΠΎΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ WKO-ΡΠΈΠΏ, ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 20 ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ, ΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ 20 ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°), ΠΈ Π²ΡΠ΅ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ°Π½ΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΡΠ°ΡΡΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, Π±ΡΠ΄ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Π½Π΅ ΠΌΠ΅Π½ΡΡΡΠΈΠΌΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π°ΡΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΡΠΈΠ½Π³Π»Π΅ΡΡ.
ΠΠ°Π΄Π°ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ WKO-ΡΠΈΠΏΠ° Π²ΠΎΠ·Π»Π°Π³Π°Π΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ½Ρ System.Runtime.Remoting.WellKnownObjectMode.
public enum WellKnownObjectMode {
SingleCall,
Singleton
}
Π‘Π²ΠΎΠ΄Π½Π°Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° MBR-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΡ ΠΈΠΌΠ΅Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ MBV-ΠΎΠ±ΡΠ΅ΠΊ-ΡΠΎΠ² Π΄ΠΎΠ»Π³ΠΈΡ ΡΠ°Π·ΠΌΡΡΠ»Π΅Π½ΠΈΠΉ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ: Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ [Serializable], ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΊΠΎΠΏΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ° Π² Π΄ΠΎΠΌΠ΅Π½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π‘ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ MBV-ΡΠΈΠΏΠΎΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π°Π²Π΅ΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ MBV-ΡΠΈΠΏΠ°, ΡΡΠΎΡ ΡΠΈΠΏ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ°, ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ.
ΠΠΎ Π΄Π»Ρ MBR-ΡΠΈΠΏΠΎΠ² ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ MBR-ΡΠΈΠΏ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π²Π΅ΡΡ Π½Π°Π±ΠΎΡ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π² ΡΠ°Π±Π». 18.3 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ WKO ΠΈ Π‘ΠΠ-ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΎΠΎΡΠ½ΠΎΡΡΡΡΡ Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ»ΠΈ Π½Π°ΠΌΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ.
Π’Π°Π±Π»ΠΈΡΠ° 18.3. ΠΠΏΡΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ MBR-ΡΠΈΠΏΠΎΠ²
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° MBR-ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ WKO-ΡΠΈΠΏΠ° ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π‘ΠΠ-ΡΠΈΠΏΠ° ΠΠΏΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° WKO-ΡΠΈΠΏΡ ΠΌΠΎΠ³ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ c ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ CAO-ΡΠΈΠΏΡ ΠΌΠΎΠ³ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΠΈΠΏΠ°. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° (ΠΈΠ»ΠΈ ΡΠΈΠΏ Activate) Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ WKO-ΡΠΈΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΈΠ½Π³Π»Π΅Ρ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. Π‘ΠΈΠ½Π³Π»Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΊΡΠΌΡΠ»ΡΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π½Π΅ ΠΌΠ΅Π½ΡΡΡΠΈΠΌ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π¦ΠΈΠΊΠ» ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΠ-ΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π‘ΠΠ-ΡΠΈΠΏΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΡΠΌΡΠ»ΡΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΠ»Ρ WKO-ΡΠΈΠΏΠΎΠ², ΡΠ²Π»ΡΡΡΠΈΡ ΡΡ ΡΠΈΠ½Π³Π»Π΅ΡΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡ Π΅ΠΌΠ° Π»ΠΈΠ·ΠΈΠ½Π³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΏΠΎΠ·ΠΆΠ΅). WKO-ΡΠΈΠΏΡ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ° ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΠ»Ρ CAO-ΡΠΈΠΏΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡ Π΅ΠΌΠ° Π»ΠΈΠ·ΠΈΠ½Π³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΏΠΎΠ·ΠΆΠ΅)ΠΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅