Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π—Π«Πš ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π― Π‘# 2005 И ΠŸΠ›ΠΠ’Π€ΠžΠ ΠœΠ .NET 2.0. 3-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 3

Автор Π­Π½Π΄Ρ€ΡŽ ВроСлсСн

Π“Π»Π°Π²Π° 13. ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹, Π΄ΠΎΠΌΠ΅Π½Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, контСксты ΠΈ хосты CLR

Π—Π΄Π΅ΡΡŒ выполняСтся Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· структуры Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ выполняСмого Ρ„Π°ΠΉΠ»Π° .NET. Главная Ρ†Π΅Π»ΡŒ – ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами, Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ контСкстов. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π²Ρ‹ смоТСтС ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ обслуТиваСтся CLR Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows, ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ свои знания ΠΎ mscoree.dll. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ здСсь информация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΏΡ€ΠΈ освоСнии ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π³Π»Π°Π²Ρ‹ 14.

Π“Π»Π°Π²Π° 14. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π’ этой Π³Π»Π°Π²Π΅ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ прилоТСния, ΠΈ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ряд ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, бСзопасного с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ Π½Π°Ρ‡Π°Π»Π΅ Π³Π»Π°Π²Ρ‹ снова обсуТдаСтся Ρ‚ΠΈΠΏ Π΄Π΅Π»Π΅Π³Π°Ρ‚Π° .NET, ΠΈ это дСлаСтся с Ρ†Π΅Π»ΡŒΡŽ выяснСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π΄Π΅Π»Π΅Π³Π°Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ асинхронного Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π—Π°Ρ‚Π΅ΠΌ ΠΈΡΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΡ‹ пространства ΠΈΠΌΠ΅Π½ System.Threading. Π—Π΄Π΅ΡΡŒ обсуТдаСтся мноТСство Ρ‚ΠΈΠΏΠΎΠ² (Thread, ThreadStart, ΠΈ Ρ‚.ΠΏ.), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ просто ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ.

Π“Π»Π°Π²Π° 15. ПониманиС CIL ΠΈ Ρ€ΠΎΠ»ΡŒ динамичСских ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ²

Π’ этой Π³Π»Π°Π²Π΅ ставится Π΄Π²Π΅ Ρ†Π΅Π»ΠΈ. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ Π³Π»Π°Π²Ρ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ синтаксис ΠΈ сСмантика CIL, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Ρ‡Π΅ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ…. ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ Π³Π»Π°Π²Ρ‹ посвящСн Π²Ρ‹ΡΡΠ½Π΅Π½ΠΈΡŽ Ρ€ΠΎΠ»ΠΈ пространства ΠΈΠΌΠ΅Π½ System.Reflection. Emit. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ .NET Π² памяти Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΈ выполняСмыС Π² памяти, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ динамичСскими ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.

Π§Π°ΡΡ‚ΡŒ IV. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ .NET

К этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ достаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ языкС C# ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² .NET. Π§Π°ΡΡ‚ΡŒ IV ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ваши Π½ΠΎΠ²Ρ‹Π΅ знания ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ ряд пространств ΠΈΠΌΠ΅Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов, Π² частности Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄, слой ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ доступа .NET, ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Windows Forms ΠΈ доступ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ADO.NET.

Π“Π»Π°Π²Π° 16. ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½ System.IO

По названию ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ пространства ΠΈΠΌΠ΅Π½ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ System.IO обСспСчиваСт взаимодСйствиС со структурой Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Из этой Π³Π»Π°Π²Ρ‹ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ срСдствами ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ (ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ) систСму ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ…, строковых, Π² памяти ΠΈ Ρ‚.Π΄.) ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΡ‚Ρ‚ΡƒΠ΄Π°.

Π“Π»Π°Π²Π° 17. БСриализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π’ этой Π³Π»Π°Π²Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ сСрвисы сСриализации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET. Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎ говоря, сСриализация позволяСт ''ΠΊΠΎΠ½ΡΠ΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ" состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (ΠΈΠ»ΠΈ мноТСства связанных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²) Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ для использования Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. ДСсСриализация (ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ сами) являСтся процСссом извлСчСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ° для восстановлСния Π² памяти с Ρ†Π΅Π»ΡŒΡŽ использования этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Поняв Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ этих процСссов, Π²Ρ‹ смоТСтС ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ процСссами сСриализации с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ интСрфСйса ISerializable ΠΈ мноТСства Π½ΠΎΠ²Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… .NET 2.0.

Π“Π»Π°Π²Π° 18. Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ΅ взаимодСйствиС .NET

Π’ΠΎΠΏΡ€Π΅ΠΊΠΈ распространСнному ΡƒΠ±Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ. Web-сСрвисы XML Π½e ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΅Π΄ΠΈΠ½cΡ‚Π²Π΅Π½Π½Ρ‹ΠΌ срСдством построСния распрСдСлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET. Из этой Π³Π»Π°Π²Ρ‹ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ слоС ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ доступа .NET. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ CLR ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ простыС возмоТности ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сСмантику MBV (marshal-bΡƒ-value – ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ) ΠΈ MBR (marshal-by-reference – ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³ ΠΏΠΎ ссылкС). По Ρ…ΠΎΠ΄Ρƒ Π΄Π΅Π»Π° Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π² Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π²ΠΎ врСмя выполнСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ распрСдСлСнного .NET-прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ XML-Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π“Π»Π°Π²Π° 19. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ System.Windows.Forms

Π’ этой Π³Π»Π°Π²Π΅ начинаСтся вашС знакомство с пространством ΠΈΠΌΠ΅Π½ System.Windows.Forms. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ обсуТдаСтся вопрос построСния Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с графичСским интСрфСйсом, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ систСмы мСню, ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΈ строки состояния. Как ΠΈ слСдуСт ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, здСсь Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ аспСкты проСктирования Ρ„ΠΎΡ€ΠΌ Π² Visual Studio 2005. Π° для .NET 2.0 – Ρ†Π΅Π»Ρ‹ΠΉ ряд Ρ‚ΠΈΠΏΠΎΠ² Windows Forms (MenuStrip, ToolStrip ΠΈ Ρ‚.ΠΏ.).

Π“Π»Π°Π²Π° 20. Визуализация графичСских Π΄Π°Π½Π½Ρ‹Ρ… срСдствами GDI+

Π’ этой Π³Π»Π°Π²Π΅ говорится ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ графичСских Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Windows Forms. ΠšΡ€ΠΎΠΌΠ΅ обсуТдСния вопросов ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, гСомСтричСских ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π² этой Π³Π»Π°Π²Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ вопросы ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ попадания Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° пСрСтаскивания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ€Π°ΠΌΠΊΠ°Ρ… графичСского интСрфСйса. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ Π½ΠΎΠ²ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ рСсурсов .NET, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊ этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ, основан Π½Π° XML-прСдставлСнии Π΄Π°Π½Π½Ρ‹Ρ….

Π“Π»Π°Π²Π° 21. ИспользованиС элСмСнтов управлСния Windows Forms

Π­Ρ‚Π° Π³Π»Π°Π²Π° являСтся послСднСй ΠΈΠ· Π³Π»Π°Π² ΠΊΠ½ΠΈΠ³Π° связанных с обсуТдСниСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для Windows, ΠΈ здСсь Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСно мноТСство элСмСнтов графичСского интСрфСйса, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… Π² .NET Framework 2.0. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ элСмСнты управлСния Windows Forms, ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½ ΠΈ наслСдовании Ρ„ΠΎΡ€ΠΌ. Π’ этой ΠΆΠ΅ Π³Π»Π°Π²Π΅ рассматриваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ построСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… элСмСнтов управлСния Windows Forms, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² IDΠ• (Integrated Development Environment – интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ).

Π“Π»Π°Π²Π° 22. Доступ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ADO.NET

ADO.NET – это API (Application Programming Interface – интСрфСйс программирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ) доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ADO.NET ΠΌΠΎΠΆΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° связном ΡƒΡ€ΠΎΠ²Π½Π΅ ADO.NET, Ρ‚Π°ΠΊ ΠΈ нСсвязном. Π’ этой Π³Π»Π°Π²Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны ΠΎΠ±Π° эти Ρ€Π΅ΠΆΠΈΠΌΠ° ADO.NET, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΎΠ²Ρ‹Π΅ возмоТности, связанныС с .NET 2.0, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ модСль источника Π΄Π°Π½Π½Ρ‹Ρ…, построитСли строк соСдинСний ΠΈ асинхронный доступ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

Π§Π°ΡΡ‚ΡŒ V. Web-прилоТСния ΠΈ Web-сСрвисы XML

Π­Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ посвящСна созданию Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ASP.NET ΠΈ Web-сСрвисов XML. Из ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… Π³Π»Π°Π² этой части Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ASP.NET 2.0 являСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ шагом Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ASP.NET 1.x ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй.

Π“Π»Π°Π²Π° 23. Web-страницы ΠΈ Web-элСмСнты управлСния ASP.NET 2.0

Π’ этой Π³Π»Π°Π²Π΅ начинаСтся ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Web-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ASP.NET. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ сцСнариСв сСрвСрной стороны Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ замСняСтся "Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ" ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ языками (Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ C#, VB .NET ΠΈ ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ). Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ для ASP.NET вопросы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, содСрТащими внСшний ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, Ρ€ΠΎΠ»ΡŒ Web-элСмСнтов управлСния ASP.NET, использованиС элСмСнтов управлСния, связанных с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Π²Π²ΠΎΠ΄Π°, ΠΈ взаимодСйствиС с Π½ΠΎΠ²ΠΎΠΉ модСлью "шаблона страницы", ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ ASP.NET 2.0.

Π“Π»Π°Π²Π° 24. Web-прилоТСния ASP.NET 2.0

Π­Ρ‚Π° Π³Π»Π°Π²Π° Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ваши знания ΠΎ возмоТностях ASP.NET с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рассмотрСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов управлСния состояниСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ€Π°ΠΌΠΊΠ°Ρ… .NET. Подобно классичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ ASP, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ASP.NET позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ cookie, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ уровня прилоТСния ΠΈΠ»ΠΈ сСанса. Однако ASP.NET ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ управлСния состояниями – это кэш прилоТСния. РассмотрСв многочислСнныС способы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ состояний Π² ASP.NET, Π²Ρ‹ смоТСтС Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса System.HttpApplication (скрытого Π² Ρ„Π°ΠΉΠ»Π΅ Global.asax) ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ динамичСски ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Web-прилоТСния Π² срСдС выполнСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Π°ΠΉΠ» Web.config.

Π“Π»Π°Π²Π° 25. Web-сСрвисы XML

Π’ этой послСднСй Π³Π»Π°Π²Π΅ ΠΊΠ½ΠΈΠ³ΠΈ выясняСтся Ρ€ΠΎΠ»ΡŒ Web-сСрвисов XML ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ возмоТности ΠΈΡ… создания Π² Ρ€Π°ΠΌΠΊΠ°Ρ… .NET. Π“Ρ€ΡƒΠ±ΠΎ говоря, Web-сСрвис- это ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ, Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартных HTTP-запросов. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚Π°ΠΌ. Ρ‡Ρ‚ΠΎ HTTP являСтся сСтСвым ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ, примСняСмым ΠΏΠΎΡ‡Ρ‚ΠΈ повсСмСстно, поэтому ΠΎΠ½ прСкрасно ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… для использования Π² распрСдСлСнных систСмах, Π½Π΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ языков. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ мноТСствС ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… тСхнология (WSDL, SOAP ΠΈ UDDI), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π³Π°Ρ€ΠΌΠΎΠ½ΠΈΡŽ взаимодСйствия Web-сepвиса ΠΈ внСшнСго ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠ½ΠΈΠ³ΠΈ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· этой ΠΊΠ½ΠΈΠ³ΠΈ (с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠΎΠ΅-Π³Π΄Π΅ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ²) доступСн для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° исходного ΠΊΠΎΠ΄Π° Web-ΡƒΠ·Π΄Π° ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² поиск ΠΏΠΎ названию ΠΊΠ½ΠΈΠ³ΠΈ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π΅Π΅ "домашнюю" страницу, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹ смоТСтС Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» *.zip с исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². ПослС распаковки содСрТимого этого Ρ„Π°ΠΉΠ»Π° Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ Π³Π»Π°Π²Π°ΠΌ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ½ΠΈΠ³Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Π³Π΄Π΅ содСрТится ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ обсуТдаСмого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² Visual Studio 2005 для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.