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?

wcf сСрвис Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ wcf сСрвис Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ 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.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *