wcf ΡΠ΅ΡΠ²ΠΈΡ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Windows Communication Foundation
Windows Communication Foundation (WCF) β ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠ»ΡΠΆΠ±Ρ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ WCF ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠ»ΡΠΆΠ±Ρ Π² Π΄ΡΡΠ³ΡΡ. ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠ»ΡΠΆΠ±Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Ρ ΠΎΠ΄ΠΈΡΡ Π² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ Π² IIS, ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΡΠ»ΡΠΆΠ±Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠ»ΡΠΆΠ±Ρ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎ ΡΠ»ΠΎΠ²ΠΎ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ XML, ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π²ΠΎΠΈΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°Π»Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².
ΠΠ°ΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΠ»ΡΠΆΠ±Π° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
Π‘Π»ΡΠΆΠ±Π°, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠ°Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΡΡΠ΅Ρ ΠΎ ΡΡΠ°ΡΠΈΠΊΠ΅, ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ ΡΠ»ΡΠΆΠ±Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ.
Π‘Π»ΡΠΆΠ±Π° Π±Π΅ΡΠ΅Π΄, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π²ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΡΠΆΠ± ΠΈ Π΄Π°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Windows Workflow Foundation, Π² Π²ΠΈΠ΄Π΅ ΡΠ»ΡΠΆΠ±Ρ WCF.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Silverlight Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² Π΄Π°Π½Π½ΡΡ Π² ΡΠ»ΡΠΆΠ±Π΅.
Π₯ΠΎΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±ΡΠ»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ WCF, WCF ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ, ΡΠ΅ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ. Π ΡΠ΅Π»ΠΎΠΌ, WCF ΠΏΡΠΈΠ·Π²Π°Π½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΡΠ»ΡΠΆΠ± ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π²Π΅Π±-ΡΠ»ΡΠΆΠ±.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ WCF
Π ΡΠΎΡΡΠ°Π² WCF Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ WCF.
Π‘Π΅ΡΠ²ΠΈΡ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ
WCF ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΡΡΠ°ΡΠ»Π΅Π²ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°Ρ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ Β«Π·Π°ΠΏΡΠΎΡ-ΠΎΡΠ²Π΅ΡΒ», ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ. ΠΡΠΎΡΠ°Ρ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Ρ ΠΎΡΠ²Π΅ΡΠ°. ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄ΡΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° Π΄Π²Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΠ±ΠΎΠΈΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ WCF ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ.
ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ
WCF ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΡΠ»ΡΠΆΠ±Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² ΠΎΡΡΠ°ΡΠ»Π΅Π²ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ WSDL, XML Schema ΠΈ WS-Policy. ΠΡΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»ΡΠΆΠ±Π°ΠΌ WCF. ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· HTTP ΠΈ HTTPS ΠΈΠ»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌΠΈ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠ½ΡΡΠ°ΠΊΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠ΅ΠΌΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ SSL ΠΈ WS-SecureConversation. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΠ² ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΎΠΊ
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠΎ Π»ΡΠ±ΠΎΠΌΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°Ρ . ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° β ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ SOAP, Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠ°, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, WCF ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ TCP, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ ΠΈΠ»ΠΈ MSMQ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ. ΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ° MTOM. ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΠ² ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΎΠΊ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°Ρ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°Ρ , ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ WCF, ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΡ.
ΠΠ°Π΄Π΅ΠΆΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
WCF ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΡΠ΅Π°Π½ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ WS-Reliable ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ MSMQ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² WCF ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΡΠ΅Π°Π½ΡΡ.
Π£ΡΡΠΎΠΉΡΠΈΠ²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
Π£ΡΡΠΎΠΉΡΠΈΠ²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΠ΅ΡΡΡΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅Π±ΠΎΠ΅Π² ΡΠ²ΡΠ·ΠΈ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΏΠΎ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, Π²ΡΠ΅Π³Π΄Π° ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Π±ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ, Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Windows Workflow Foundation (WF). ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ»ΡΠΆΠ±Ρ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
WCF ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ: WS-ΠΡΠΎΠΌΠΈΠΊΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΎΠ½Ρ, API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π² System.Transactions ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ ΠΈ Microsoft ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² WCF ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° AJAX ΠΈ REST
Π Π°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° WCF ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ ΡΠΎΡΠ΅ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π°, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Ρ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΎΡΠΊΠ°Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ WCF.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ WCF Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ
WCF β ΡΡΠΎ Π³ΠΈΠ±ΠΊΠ°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. ΠΠ·-Π·Π° ΡΠ°ΠΊΠΎΠΉ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ WCF ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ. ΠΠ½Π°Ρ ΠΎΡΠ½ΠΎΠ²Ρ WCF, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ².
ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ WCF, Π±ΡΠ»Π° Windows Workflow FoundationΠΎΠΌ (WF). Π Π°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΏΡΠΎΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠ°ΠΊ «Π΄Π΅ΠΉΡΡΠ²ΠΈΡ». Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Windows Workflow Foundation ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ·Π΅Π» Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Windows Workflow Foundation Π±ΡΠ»Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π° Ρ WCF. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π² ΡΠ»ΡΠΆΠ±Π΅ WCF. ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ±ΡΠ°Π² ΡΠΈΠΏ ΠΏΡΠΎΠ΅ΠΊΡΠ° WF/WCF Π² Visual Studio 2012 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ.
Microsoft BizTalk Server R2 ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ WCF Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. BizTalk ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠΈΠΊ, Π³Π΄Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΡΡΠΎΠ³ΠΎΠΌΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ BizTalk, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ BizTalk ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π°Π΄Π°ΠΏΡΠ΅Ρ WCF Π΄Π»Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠΊΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Microsoft Silverlight ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΈΡΠΎΠΊΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈ Π΄Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π΅Π±-ΡΠ·Π»Ρ, ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°-ΡΡΠ½ΠΊΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ). ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 2, Silverlight Π²Π½Π΅Π΄ΡΡΠ΅Ρ WCF Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ²ΡΠ·ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Silverlight ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ WCF.
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows server AppFabric ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ WCF Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠΈ. Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ WCF.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ WCF?
Π Π΄Π° ΠΈ Π½Π΅Ρ. Π’ΠΎΠΆΠ΅ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ REST-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
WCF ΠΎΠ½ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ XML ΠΈ SOAP. Π₯ΠΎΡΡ Π² WCF ΠΈ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ HTTP REST ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ WCF ΠΏΠΎΠ΄ Π½ΠΈΡ Π·Π°ΡΠΎΡΠ΅Π½.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Π³ΡΡΠΏΠΏΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² WS-*, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ WSDL, WS-Addressing ΠΈ WS-Security. ΠΡΠΎ ΠΎΠ±ΡΡΠΌΠ½ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (ΡΠΌ. Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, swamp of POX Π² Richardson Maturity Model ).
Π Π°Π½Π΅Π΅ ΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π±ΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ Π² ΡΠ²ΡΠ·ΠΈ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°Π·ΠΌΠ°Π·Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΌΠΈΡΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ WCF.
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π½Π΅Π΄ΠΎΠ»ΡΠ±Π»ΠΈΠ²Π°Π»ΠΈΡΡ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ:
Π°) REST-ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈ Π½Π΅ ΠΏΠ°Ρ
Π½Π΅Ρ, HTTP ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ°ΠΊ ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π΄Π»Ρ RPC: Ρ.Π΅. Π²ΠΌΠ΅ΡΡΠΎ GET/PUT/POST/DELETE/.. Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π»ΡΡ POST Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ° Π² Π΅Π³ΠΎ ΡΠ΅Π»Π΅. Π¦ΠΈΡΠ°ΡΠ° ΠΈΠ· ΡΡΡΠ»ΠΊΠΈ:
These services have a single URI, and use a single HTTP method (typically POST). For example, most Web Services (WS-*)-based services use a single URI to identify an endpoint, and HTTP POST to transfer SOAP-based payloads, effectively ignoring the rest of the HTTP verbs.
Π±) ΡΡΠ°Π½Π΄Π°ΡΡΡ Π³ΡΡΠΏΠΏΡ WS-* ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΠ΅, Π²ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ (ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ WCF). ΠΠ°, Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΠ»ΡΡΡ Π²ΡΠΎΠ΄Π΅ «ΠΌΠΎΠ³Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ Ρ ΠΊΠΎΠ³ΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ Ρ ΠΎΡΠ΅ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ», Π½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ Π±ΡΠ»Π° ΡΠ΅Π°Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½Π°.
Π£ΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π² ΠΌΠ½ΠΎΠ³ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΡΠ΄Π²ΠΈΠ³ ΠΊ REST-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅, ΠΊΠ°ΠΊ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΌΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΡΡΠΏΠΎ ΠΊΠ°ΠΊ ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π ΡΠ°ΠΌ Π³Π΄Π΅ REST Π½Π΅ΡΠ΄ΠΎΠ±Π΅Π½/ΠΈΠ·Π»ΠΈΡΠ΅Π½ ΠΈ Π³Π΄Π΅ RPC Π»ΡΡΡΠ΅ ΠΏΠΎΡ ΠΎΠ΄ΠΈΡ, ΠΏΡΠΎΡΠ΅ Π²Π·ΡΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΠΎΠ΄Π½ΡΡΡ ΡΠ²ΠΎΠΉ Π½Π° Π±Π°Π·Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ protobuf, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ. Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Ρ WCF Π² ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΡΠΆΠ±Π΅ Windows
Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Ρ Windows Communication Foundation (WCF), ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ»ΡΠΆΠ±Π΅ Windows. ΡΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ Windows, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΡΠΆΠ±ΠΎΠΉ WCF, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΠ»ΡΠΆΠ±Ρ IIS (IIS) Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π²ΠΎ Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡΡ Windows.
Π‘Π»ΡΠΆΠ±Π°ΠΌΠΈ Windows ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Microsoft.ManagementConsole.SnapIn Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (MMC) ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠΌΠ΅Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (AppDomain), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° ΡΠ»ΡΠΆΠ±Π° WCF, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ Windows, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ»ΡΠΆΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΠ»ΠΎΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ (SCM) Π΄Π»Ρ ΡΠ»ΡΠΆΠ± Windows services.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Ρ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Visual Studio Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Service.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Program.cs Π½Π° Service.cs.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ±ΠΎΡΠΊΠΈ:
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ using Π² ΡΠ°ΠΉΠ» Service.cs.
ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ OnStart(String[]), ΡΠΎΠ·Π΄Π°Π² ΠΈ ΠΎΡΠΊΡΡΠ² Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ServiceHost, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ OnStop, Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΉ ServiceHost, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ XML-ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΡΠ°ΠΉΠ» App.config Π² ΠΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°. Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π² Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠ»ΡΠΆΠ±Ρ
ΠΡΠΈΠΌΠ΅Ρ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠ΅Π΄Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Ρ Windows ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ»ΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π»ΡΠΆΠ±Π° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. Π Π΄ΡΡΠ³ΠΈΡ ΡΡΠ΅Π΄Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ»ΡΠΆΠ±Π° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Windows (WAS), ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΠΈΡ Π² IIS, ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Windows Communication Foundation
Π² ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Windows Communication Foundation (WCF). Π Π½Π΅ΠΌ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΠΈ ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ»ΡΠΆΠ±Ρ WCF ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠΌ. Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎ Π½Π°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ WCF ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ WCF.
ΠΡΠ½ΠΎΠ²Ρ WCF
WCF β ΡΡΠΎ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² API Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ. Π’Π΅ ΠΆΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ API ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΠΈΡ ΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ.
ΠΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ
WCF ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ²ΡΠ·ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΈ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, HTTP-Π·Π°ΠΏΡΠΎΡ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ MSMQ), ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ API Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ².
ΠΠΎΠ΄Π΅Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ°Π΅Ρ ΠΠ»ΠΈΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡ ΡΠ²ΡΠ·Ρ, ΠΈ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΈ ΡΠ΅Π°Π³ΠΈΡΡΡΡ Π½Π° ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΡΠ°ΠΊ ΠΈ ΡΠ»ΡΠΆΠ±ΠΎΠΉ. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΏΠ»Π΅ΠΊΡΠ½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ ΠΈ ΠΎΠ΄Π½ΠΎΡΠ°Π½Π³ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠΈ.
ΠΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ β ΡΡΠΎ ΠΌΠ΅ΡΡΠ°, ΠΊΡΠ΄Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ (ΠΈΠ»ΠΈ ΠΈ ΡΠ΅, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅), ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. Π‘Π»ΡΠΆΠ±Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π° ΡΠ°ΠΊΠΆΠ΅ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ), Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΡΠ»ΡΠΆΠ±Ρ.
ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΠΏΠΎΡΠΎΠ± ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π‘Π»ΡΠΆΠ±Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² WCF ΠΈ ΡΡΠ΅ΠΊΠΎΠ² ΡΠ²ΡΠ·ΠΈ.
ΠΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΡΠ²ΡΠ·ΠΈ
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΊΠ° ΡΠ²ΡΠ·ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ». Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΡΠ°ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ HTTP ΠΈ TCP. ΠΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ²ΡΠ·Ρ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ·Π»Π°ΠΌΠΈ Π² ΡΠ΅ΡΠΊΠ΅ ΠΎΠ΄Π½ΠΎΡΠ°Π½Π³ΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΎΡΠ΅ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ WCF.
ΠΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠ΅ΠΊΠ° ΡΠ²ΡΠ·ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. WCF ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ:
Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΆΠ°ΡΠΈΡ) ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΎΡΠ΅ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ WCF.
Π¨Π°Π±Π»ΠΎΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
WCF ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΠΎΡ-ΠΎΡΠ²Π΅Ρ, ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΈ Π΄ΡΠΏΠ»Π΅ΠΊΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ. Π Π°Π·Π½ΡΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠΈΠΏΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ API ΠΈ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ WCF ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΎΡΡΡΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
Π’Π΅ΡΠΌΠΈΠ½Ρ WCF
ΠΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ WCF, Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Message
ΠΠ²ΡΠΎΠ½ΠΎΠΌΠ½Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ°ΡΡΠ΅ΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΠΊΡΡ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ.
Π‘Π»ΡΠΆΠ±Π°
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ΄ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ ΡΠ»ΡΠΆΠ±Ρ.
ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ°
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π°Π΄ΡΠ΅Ρ), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° ΡΠ²ΡΠ·ΠΈ (ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ (ΠΈΠ»ΠΈ ΠΎΠ±Π°) Π² ΡΡΠΎΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΡΠ»ΡΠΆΠ±Ρ), ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ.
Π‘Π»ΡΠΆΠ±Π° WCF Π²ΠΈΠ΄ΠΈΠΌΠ° Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΌΠΈΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ.
ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ
ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ ΡΠ»ΡΠΆΠ±Ρ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠ»ΡΠΆΠ±ΠΎΠΉ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΡ
ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ ΡΠ»ΡΠΆΠ±Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎ ΡΠ»ΡΠΆΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
.
ΠΠ΄ΡΠ΅Ρ
ΠΠ°Π΄Π°Π΅Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ½ Π·Π°Π΄Π°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΡΡΡΠ° (URI). Π§Π°ΡΡΡ URI, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ°Ρ ΡΡ
Π΅ΠΌΡ, Π·Π°Π΄Π°Π΅Ρ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ HTTP ΠΈ TCP. ΠΠ΅ΡΠ°ΡΡ
ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ URI ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΡΠΌΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°.
ΠΠ΄ΡΠ΅Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π² ΡΠ»ΡΠΆΠ±Π΅ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π°Π΄ΡΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTPS Ρ ΠΏΠΎΡΡΠΎΠΌ, Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
ΠΡΠΈΠ²ΡΠ·ΠΊΠ°
ΠΠ°Π΄Π°Π΅Ρ ΡΠΏΠΎΡΠΎΠ± ΡΠ²ΡΠ·ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΌΠΈΡΠΎΠΌ. ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΡΡΡΡΡ Π² «ΡΡΠ΅ΠΊ», ΠΎΠ΄ΠΈΠ½ Π½Π°Π΄ Π΄ΡΡΠ³ΠΈΠΌ, ΠΎΠ±ΡΠ°Π·ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΡΠ²ΡΠ·ΠΈ. ΠΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ HTTP ΠΈΠ»ΠΈ TCP) ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅). ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ, Π·Π°Π΄Π°ΡΡΠΈΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ»ΡΠΆΠ±.
ΠΠ»Π΅ΠΌΠ΅Π½Ρ Binding
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ, ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ ΡΡΠ°Π½ΡΠΏΠΎΡΡ, ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, WS-ReliableMessaging) ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΡΠ΅ΠΊΠ° ΡΠ²ΡΠ·ΠΈ.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π³ΡΡΠΏΠΏΠΈΡΡΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΠ±Π»Π°ΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: ΠΎΠ±ΡΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π²Π»ΠΈΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π½Π° Π²ΡΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ»ΡΠΆΠ± Π²Π»ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π°ΡΠΏΠ΅ΠΊΡΡ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΡΠ»ΡΠΆΠ±Π°ΠΌ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ
ΡΠΎΡΠ΅ΠΊ Π²Π»ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ, Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠΎΠ²Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π»ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ»ΡΠΆΠ±Ρ ΡΠ΅Π³ΡΠ»ΠΈΡΡΡΡΠ΅Π΅ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅Π°ΠΊΡΠΈΡ ΡΠ»ΡΠΆΠ±Ρ ΠΏΡΠΈ ΠΈΠ·Π±ΡΡΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π²ΠΎΡΡ
ΠΎΠ΄ΡΡΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΌΠΈΡΡ ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ΅ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°.
ΠΡΠΈΠ²ΡΠ·ΠΊΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ
WCF ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ΄ ΠΏΡΠΈΠ²ΡΠ·ΠΎΠΊ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, WSHttpBinding ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ WS- * Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΡΠΈ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΡΡ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΡΠ»ΠΈ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈ ΡΠΎΠ³ΠΎ, ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΡΠ»ΡΠΆΠ±Ρ ΠΌΠΎΠ³ΡΡ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ), Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π΄ΡΠ΅ΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ
ΡΠΎΡΠ΅ΠΊ, Π½ΠΎ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΡΠ»ΡΠΆΠ±Ρ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°; Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π°.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΡΠΆΠ±Ρ
ΠΡΠΎΡΠ΅Π΄ΡΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠ»ΡΠΆΠ±Ρ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠ° WCF. ΠΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠ΄ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ «ΠΡΠΈΠ²Π΅Ρ», ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΠΎΠ½ΡΡΠ°ΠΊΡ ΡΠ»ΡΠΆΠ±Ρ
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΠΎΠ΄ΠΈΠ½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠΎΠ½ΡΡΠ°ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠΎΠ²Π½Ρ ΡΠ»ΡΠΆΠ±Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΡΠ»ΡΠΆΠ±Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠ° ServiceContractAttribute ΠΊ ΡΡΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ»ΡΠΆΠ±Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠΎΠ½ΡΡΠ°ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠΎΠ½ΡΡΠ°ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ
Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΡΠ»ΡΠΆΠ±Ρ, ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π°ΡΡΠΈΠ±ΡΡΠ° OperationContractAttribute ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, Π²Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π² ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π½Π°Π±ΠΎΡ ΡΠΈΠΏΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΡΠΈΠΏ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΡΠΌΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΠΌΠ΅Π½ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΠΎΠ½ΡΡΠ°ΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΡΠΌΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½Π΅ΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ
ΠΈΠ»ΠΈ Π² ΡΠ΅Π»Π΅, ΡΡΠΎΠ²Π΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Ρ. Π΄.
ΠΠΎΠ½ΡΡΠ°ΠΊΡ ΡΠ±ΠΎΡ
ΠΠΎΠΆΠ΅Ρ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ»ΡΠΆΠ±Ρ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π‘ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ±ΠΎΠ΅Π². ΠΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ±ΠΎΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SOAP, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΡΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ½ΡΡΠ°ΠΊΡ Π΄Π°Π½Π½ΡΡ
Π₯ΡΠ°Π½ΡΡΠ΅Π΅ΡΡ Π² ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΡΠ»ΡΠΆΠ±ΠΎΠΉ. ΠΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΠ»ΡΠΆΠ±ΠΎΠΉ. Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π² ΡΠ»ΡΠΆΠ±Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΈΠΏΡ, ΡΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² Π΄Π°Π½Π½ΡΡ
Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
Π‘Π»ΡΠΆΠ±Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅. Π£Π·Π΅Π» β ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Ρ. Π‘Π»ΡΠΆΠ±Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½ΡΠΌΠΈ (ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΌΠΈ Π² ΡΠ΅Π±Π΅) ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ Π²Π΅Π΄ΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ.
ΠΠ²ΡΠΎΠ½ΠΎΠΌΠ½Π°Ρ ΡΠ»ΡΠΆΠ±Π°
Π‘Π»ΡΠΆΠ±Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ-ΠΏΡΠΎΡΠ΅ΡΡΠ΅, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Ρ, Π½Π°Π±ΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ»ΡΠΆΠ±Ρ, ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ»ΡΠΆΠ±Ρ (ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ»ΡΠΆΠ±Π° ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
) ΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ»ΡΠΆΠ±Ρ.
ΠΠ΅Π΄ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ±. Π ΡΠΈΡΠ»ΠΎ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ
ΠΎΠ΄ΡΡ ΡΠ»ΡΠΆΠ±Ρ IIS, ΡΠ»ΡΠΆΠ±Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Windows (WAS) ΠΈ ΡΠ»ΡΠΆΠ±Ρ Windows. Π ΡΡΠΈΡ
ΡΡΠ΅Π½Π°ΡΠΈΡΡ
Π²Π΅Π΄ΡΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ IIS ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ±ΠΎΡΠΊΡ ΡΠ»ΡΠΆΠ±Ρ ΠΈ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ IIS Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ»ΡΠΆΠ±Ρ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ Π΅Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ.
Instancing
Π‘ΠΎ ΡΠ»ΡΠΆΠ±ΠΎΠΉ ΡΠ²ΡΠ·Π°Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ². Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ²: Β«ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΒ», Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ CLR ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅Ρ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Β«ΠΏΠΎ Π²ΡΠ·ΠΎΠ²Π°ΠΌΒ», Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΠΏΠΎΡΡΡΠΏΠΈΠ²ΡΠ΅Π³ΠΎ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ CLR, ΠΈ Β«ΠΏΠΎ ΡΠ΅Π°Π½ΡΠ°ΠΌΒ», Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² CLR, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π°Π½Ρ. ΠΡΠ±ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Ρ.
ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΠ°ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° WCF ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° WCF. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΡΠ°ΠΊ ΠΈ ΡΠ»ΡΠΆΠ±ΠΎΠΉ.
ΠΠ°Π½Π°Π»
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ. ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π° ΠΊΠ°Π½Π°Π» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠ²ΡΠ·Π°Π½ ΠΊΠ°Π½Π°Π». ΠΠ°Π½Π°Π»Ρ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Π² ΡΡΠ΅ΠΊ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ, ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ: ΡΡΠ΅ΠΊ ΠΊΠ°Π½Π°Π»ΠΎΠ².
ΠΠ»ΠΈΠ΅Π½Ρ WCF ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ServiceModel (Svcutil.exe) ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ ΡΠ»ΡΠΆΠ±Π΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅.
ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅
ΠΠΏΠΈΡΡΠ²Π°ΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ»ΡΠΆΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠΎ ΡΠ»ΡΠΆΠ±ΠΎΠΉ. ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
ServiceModel (Svcutil.exe) Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° WCF ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΠ»ΡΠΆΠ±ΠΎΠΉ.
ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ»ΡΠΆΠ±ΠΎΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΡΡ Π΅ΠΌΡ XML, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π΄Π°Π½Π½ΡΡ ΡΠ»ΡΠΆΠ±Ρ, ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ WSDL, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ»ΡΠΆΠ±Ρ.
ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ»ΡΠΆΠ±Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ, ΠΎΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ WCF ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ»ΡΠΆΠ±Ρ ΠΈ Π΅Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ. ΠΠ»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΡΠ»ΡΠΆΠ±Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ .
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
Π WCF Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ (ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ°), ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ (ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ), ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ (ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²) ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ (Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ). ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π»ΠΈΠ±ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ TLS ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ HTTP (ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ HTTPS), Π»ΠΈΠ±ΠΎ ΠΏΡΡΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
* ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ WS-Security.
Π Π΅ΠΆΠΈΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ, ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ HTTPS). ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°, ΠΊΠ°ΠΊ HTTPS, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π΅Π³ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΡΡΠΈ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΡΠΆΠΊΠ΅ ΠΏΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ ΡΠ²ΡΠ·Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΊ Π°ΡΠ°ΠΊΠ°ΠΌ ΡΠΈΠΏΠ° «Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅».
Π Π΅ΠΆΠΈΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ WS-Security: SOAP Message Security. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ ΠΈ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π·Π°Π»ΠΎΠΆΠ΅Π½Π° Π²Π½ΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΡΠΊΠ²ΠΎΠ·Π½ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΡΠ°ΡΡΠΊΠ°ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΡΡΠ΅ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ (ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡΠΌΠΈ). ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΡΡΠ΅Π±ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π’ΡΠ°Π½ΡΠΏΠΎΡΡ Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΡΠ΅ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΠ°Π΄Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
(ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ), ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ
ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠΎΡΠΎΠΊΠΎΠ»*
Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΡΡΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ Π²Π΅Π±-ΡΠ»ΡΠΆΠ± (WS), ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ WS-Security, WS-ReliableMessaging ΠΈ Ρ. Π΄., ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
Π² WCF.