Programming .NET Framework Volume01

801

description

vcgfd

Transcript of Programming .NET Framework Volume01

1 .......................................................................... 2 .....................................................................................13 .........................................................................................33 1. .NET .NET Framework ......69 2. C#................................................................107 3. - .NET ...................143 4. .NET ..............................223 5. (Common Type System) ............249 6. ..........................................................285 7. ...........................................................................309 8. ..........................................................325 9. (Strings) ..............................................363 10. ..........................................................421 11. ..................................................................499 12. XML ..................................................................529 13. MS SQL Server..................601 14. ADO.NET ...........................................667

2 15. Windows Forms785 16. ASP.NET ..................786 17. ...........787 18. ..............................788 19. (Reflection) .............................789 20. .................................................790 21. ASP.NET .....................................................791 22. (Remoting) ..............792 23. ............................793 24. .............................794 25. ......................................795 26. .NET Framework..........................................796 27. Mono - .NET .....................797 28. .NET ...............798 29. .......................................................799 ....................................................................................800

.NET Framework

, 2004

.NET Framework (), 2005 . "", 2005 .

: : , ; , , , ; ; , , .

-

-

: , ( ), ; .

-

, , .

: www.devbg.org/dotnetbook/ISBN 954-775-505-6

". ". , , . , , (.NET, Java, Oracle, PKI .). 2004 . " " . "", . MCSD MCSD.NET.

() . . : .NET Enterprise Developer Java Enterprise Developer 3 . ! ! ! , . .

.

http://academy.devbg.org

www.devbg.org () , . . , . .

Microsoft .NET . , , .NET. .NET , .NET . " .NET Framework" Microsoft .NET . , , .NET Framework C#. .NET - ADO.NET, ASP.NET, Windows Forms XML . . , . , - . , .NET . , , .NET , , . .NET . .NET Framework. - " " . , . , , .NET . , " "

, . , .NET , - C#. , .NET. "" - , , XML, , , , . , . , () ". ". , .NET Framework . 2000 , , , . , , , . , , , C# .NET.

. - , ". "

" .NET Framework" .NET. , , , .NET, .NET , . " .NET Framework" , , . - .NET Framework, C# .NET , , , , ADO.NET, Windows Forms, ASP.NET .. . . . , 30, " .NET Framework" ; , , . " .NET Framework" .NET.

, Software Design Engineer, Microsoft Corpartion (Redmond)* Microsoft Corporation

". ". , , . , , (.NET, Java, Oracle, PKI .). 2004 . " " . "", . MCSD MCSD.NET.

() . . : .NET Enterprise Developer Java Enterprise Developer 3 . ! ! ! , . .

.

http://academy.devbg.org

1 .......................................................................... 2 .....................................................................................13 .........................................................................................33 ?................................................ 33 .NET Framework? ............................................... 34 ?.............................................................. 34 ? ................................................... 35 C#? ....................................................................................... 36 ............................................... 37 ................................................................. 34

.NET Framework 1.1 ......................................................... 35

......................................................... 47

1. .NET Framework ................................................... 37 2. C# ................................................................. 38 3. - .NET................................... 38 4. .NET ................................................. 38 5. .............................................................. 39 6. ..................................................................... 39 7. .................................................................................... 39 8. ..................................................................... 39 9. ........................................................................ 40 10. ...................................................................... 40 11. / ............................................................................... 40 12. XML............................................................................. 41 13. MS SQL Server ................................. 41 14. ADO.NET ......................................................... 41 15. Windows Forms .................. 42 16. ASP.NET .................................. 42 17. ............................ 43 18. ............................................. 43 19. (Reflection)............................................. 43 20. ............................................................. 44 21. ASP.NET................................................................. 44 22. (Remoting) ............................... 44 23. ........................................... 45 24. ............................................ 45 25. (deployment)................................. 45 26. .NET Framework....................................................... 45 27. Mono - .NET..................................... 46 28. .NET ............................... 46 29. .................................................................. 46

14

.NET Framework

.......................................................................... 47 ........................................................... 47 - "m" ................................................. 48 "a" .......................................... 48 ................................................................. 48 ............................................................................ 49 ...................................................................... 49 .NET (2002/2003 .).................. 50 Microsoft Research ....................................................... 50 .NET Framework (2004/2005 .) .................. 51 .NET Framework (2005/2006 .) .................. 51 .................................................................. 51 .................................................................................... 53 ........................................................................ 53 ......................................................................................... 53 ................................................................................... 54 ......................................................................................... 54 ........................................................................................ 54 ............................................................................................ 55 ........................................................................................ 55 ........................................................................................ 55 ............................................................................................ 55 ......................................................................................... 56 ............................................................................................. 56 ......................................................................................... 56 ....................................................................................... 56 .......................................................................................... 57 ........................................................................................... 57 .......................................................................................... 57 ...................................................................................... 58 ................................................................................... 58 ................................................................................... 58 ................................................................................... 59 ........................................................................................ 59 ..................................................................................... 59 ........................................................................................ 60 ........................................................................................ 60 ....................................................................................... 60 ..................................................................................... 61 ............................................................................................ 61 ............................................................................................ 61 .......................................................................................... 61 ......................................................................................... 62 ................................................................................... 62 ............................................................................................. 62 ........................................................................................ 63 ................................................................................ 63 .................................. 63 Microsoft Research .................................................................................... 63 SciForge.org ............................................................................................ 64

? ................................................................ 49

....................................................................... 53

................................................................................ 63

.NET Framework

15

........................................................................... 65 ........................................................................................... 65

". " ......................................... 64 telerik ..................................................................................................... 64 ..................................................................................................... 64

..................................................................................... 65 ..................................................... 66 ............................................................. 66 ................................................................... 67 Microsoft Research ................................................ 67

1. .NET .NET Framework ......69 ......................................................................... 69 ................................................................................... 69 .................................................................................... 69 .NET?............................................ 71 .NET .................................................... 72.NET .NET .NET .NET Microsoft................................................................................. 71 Enterprise Servers ............................................................................. 72 Framework Visual Studio .NET 2003 .................................................. 74 Building Block Services....................................................................... 74 Smart Clients.................................................................................... 74

.NET Framework? ................................................................. 75 .NET Framework ....................................................... 76

.NET Framework................................................................. 76 .............................................................................. 77 Common Language Runtime ....................................................................... 77 Base Class Library..................................................................................... 77 ADO.NET XML ........................................................................................ 77 ASP.NET Windows Forms......................................................................... 77 ............................................................................ 78 CLR................................................................... 78 ....................................................................................... 80 ............................................................................ 82 Intermediate Language (IL)........................................................................ 82 ........................................................................ 83 CLR ................................................................................. 85 CLR IL ?...................................................................... 86 "DLL Hell"................................................................................ 88 .............................................................................................. 89 IL ..................................................................................................... 89 .................................................................................................. 89 ......................................................................... 90 ................................................................ 91

Common Language Runtime .............................................................. 78

...................................................................................... 88

.NET ............................................................................ 90 Application domains.......................................................................... 92 ........................................... 92

Common Language Specification (CLS) ........................................................ 93 Common Type System (CTS) ...................................................................... 93 Common Language Infrastructure (CLI) ....................................................... 94

16

.NET Framework .NET ........................................................................................... 95 FCL ....................................................................................... 98 ......................................................................................... 99 .................................................. 100 ......................................................................................... 101 ......................................................................... 102 ........................................................................ 102 ......................................................... 103 ............................................................................ 104 VS.NET .......................................................... 104

Framework Class Library ................................................................... 97 Visual Studio .NET............................................................................ 99

.................................................................................. 104 ................................................................. 105 2. C#................................................................107 ....................................................................... 107 ................................................................................. 107 ................................................................................... 107 C# ................................................................................... 108 C#................................................ 108

C# ......................................................................... 112

- ....................................................................... 108 ......................................................................... 108 ............................................................. 109 ................................................................. 111 C# ................................................................ 112 ? ......................................................................... 112 , Visual Studio.NET ........ 114

C# ...................................................................... 116 C#........................................................................ 116

........................................................... 118 (enumerations) .................................................... 119 ........................................................................... 120 .................................................................................. 121 .................................................................................... 122 (expressions) ..................................................................... 122 (statements) .............................................. 122

(value types) ............................................................. 117 (reference types) ....................................................... 117 ................................................................................ 117 ........................................................ 118

............................................................................................. 121

................................................................ 127 ............................................................. 127

...................................................... 122 ............................................................................ 123 .................................................... 123 ......................................................................... 126

.................................................................................. 127 .............................................................................. 128

.NET Framework

17

Visual Studio .NET...................................................... 129 ILDASM.................................................................... 131 XML C#................................................................. 132 XML ................................................................. 133 XML C# ...................................... 134 HTML VS.NET .......................................... 136 ................................................. 137 .......................................................... 137 ................................................... 138 MSDN Library ......................................................................................... 139 .NET Framework MSDN Library............................................................... 139

......................................................... 136

.NET Framework................................................ 138 .................................................................................. 140 ................................................................. 141 3. - .NET ...................143 ....................................................................... 143 ................................................................................. 143 .................................................................................. 143 ................................................... 145 ............................................................ 145

.................................................... 145 .......................................................... 145 .......................................................................... 145 ......................................................................................... 146 ...................................................................................... 146 ..................................................................................................... 147 ................................................................................................... 147 ........................................................................................ 147 ............................................................................................... 147 ................................................................................................... 147 ............................................................................................ 147 ......................................................................... 148 .......................................................................... 148 ...................................................................... 148 ........................................................................................ 149 ................................................................ 149 ...................................................................... 149

................................................................. 147

.NET Framework .................................................................. 148

....................................................................................... 150 ............................................................................. 151

.......................................................................... 151 - .................................................................................. 152 ................................................................................. 153 ........................................................................... 154 ................................................................................................. 154 .................................................................................. 157 ........................................................................................ 158 ............................................................................ 163 ............................................................................................... 166

18

.NET Framework ......................................................................................... 171 ............................................................................... 177 (out) ................................................. 178 (ref) .............................................................. 180 (in)..................................................................... 181 .................................................................... 183 ........................ 183 .................................................................... 184 C#.................................................................................. 185 ................................................................... 185 ................................................... 185 , (sealed) ................................... 192 ................................................................. 192 ......................................................................... 193 ........................................................................... 195 ..................................................................... 196 ........................................................................ 199 ......................................................... 201 ............................................................................... 203 ........................................................ 204 .................................................................... 207 ...................................... 210 .......................................................................................... 213 ................................................................................ 213 ................................................................................... 214 ? ..................................................... 216 (loose coupling)............................................ 217 (strong cohesion) .......................................... 218

.................................................................................... 177 ............................................................ 178

........................................................ 184

................................................................................. 191

.................................................................................. 195

....................................................................... 203 ....................................................................... 207 .............................................................................. 210 (namespaces) ............................................. 213

- .................................. 217 .................................................................................. 218 ................................................................. 220 4. .NET ..............................223 ....................................................................... 223 ................................................................................. 223 .................................................................................. 223 ..................................................................... 224 .NET Framework .................................................... 224 ........................................................... 225

try-catch ............................................................ 225 CLR ? ........................................... 226 ..................................................... 227 ......................................... 228

.NET Framework

19

............................................................. 229 ............................................................ 231 () ...................................... 234 .................................................................. 236 tryfinally ............................................................... 241 catch ............................................................... 232 ............................................................. 233 .................................... 234 ........................................ 235 .................................................... 237 ............................................................. 237 ?................................................................................. 241 ............................................................................................ 241 try-catch-finally ................................................................ 242 try-finally ................................................... 244

................................................................ 245 .................................................................................. 246 ................................................................. 247 5. (Common Type System) ............249 ....................................................................... 249 ................................................................................. 249 .................................................................................. 249 CTS? ................................................................................ 250

................................................................ 251

CTS .NET .................................................... 250 CTS e - .................................................................... 250 CTS .NET ...................................................................... 250 ............................................................ 250 ? ........................................................................ 251 System.Object .............................................................................. 252 (value types) ............................................................. 252 (reference types) ....................................................... 253 ..................................................... 254 .............................................. 255

...................................... 258 ................................ 258 System.Object...................................................................... 259

C# ................................................ 264

System.Object?..... 259 System.Object ........................ 260 System.Object ..................................................................... 260 ............................................... 261 is ........................................................................................... 264 as .......................................................................................... 264 typeof..................................................................................... 264 is as ..................................................................... 265 .................................................................................. 266 ................................................................................ 267 .................................................................. 267 ICloneable.......................................................................... 267

..................................................................... 266

20

.NET Framework .NET Framework ................................................... 267 ICloneable .................................................. 268 (boxing) ................................................ 271 (unboxing) ......................................... 271 ........................................ 272 ? ............................................ 272 ...................................................... 273 ................................................ 273 IComparable ................................................ 276 IComparable ............................................... 276 IEnumerable....................................................................... 278 IEnumerator....................................................................... 279 IEnumerable IEnumerator ........................................ 279

(boxing) (unboxing) 270

IComparable .............................................................. 276 IEnumerable IEnumerator ....................................... 278

.................................................................................. 282 ................................................................. 283 6. ..........................................................285 ....................................................................... 285 ................................................................................. 285 .................................................................................. 285 ?................................................... 286

........................................................................... 287 .NET Reflector ........................................................... 293 (Events)........................................................................... 294 .NET Framework .......................................................... 295

....................................................................... 286 ................................................... 286 Callback ..................................................................... 286 .......................................................... 286 ................................................................................. 287 (singlecast) ............................................................... 288 (multicast) ........................................................... 288 .NET Reflector .................................................................. 293 ""......................................................................... 294 ........................................................................ 294 ........................................................................ 295 ........................................................................ 295 ........................................................... 295 ......................................................................... 296 .................................................................................. 297 System.EventHandler............................................................... 301 System.EventHandler......................................... 302 ................................................ 303 ............................................................. 303 , , .............................................................. 305

................................................................... 303

.................................................................................. 307 ................................................................. 308

.NET Framework

21

7. ...........................................................................309 ....................................................................... 309 ................................................................................. 309 .................................................................................. 309 .NET?......................................... 310 .................................................................. 310 ............................................................................. 312 ....................................................................... 312 .................................................................. 313 ................................................ 315 ........................... 315 .NET .................................................................... 316 ASP.NET......................................................... 316 (Win32) ........................................... 317 ....................................... 317 ................................................................. 317 .............................................. 318 .......................................................... 320 - AttributeUsage ................................................................ 320 ? ............................................... 322 ?............................................. 322

? ...................................................... 314

................................................ 317

? ...................................................... 321 .................................................................................. 322 ................................................................. 323 8. ..........................................................325 ....................................................................... 325 ................................................................................. 325 .................................................................................. 325 e ? ............................................................................. 326 .NET Framework ........................................................... 326

.......................................................................... 326 ............................................................................... 326 ............................................................................ 327 ...................................................................................... 327 ................................................................................... 328 ........................................................................... 328 .................................................. 330 ................................................. 331 ......................................................................... 332 ................................................................. 332 ................................................. 335 ......................................................................... 335 .............................................................. 336 ............................................................................................... 337 ................................................................................................. 338

....................................................................... 331

......................................................................... 334

System.Array ....................................................................... 337

22

.NET Framework .................................................................. 339 - ...................................... 339 ............................................................... 342 IComparer ............................................................. 342 ..................................................................... 344

..................................................................... 341 ........................................................................... 344 ............................................................. 345 ? ........................................................................ 346 .NET Framework ........................................................ 346

....................................................................... 348

............................................................. 346 ............................................................ 346 ..................................................................... 347 IList .................................................................................. 348 ArrayList..................................................................................... 348 ....................................................................... 350 IDictionary ......................................................................... 352 Hashtable ................................................................................... 352 Hashtable............................................................... 354 - ......................................................................... 356 SortedList ................................................................................... 358

...................................................................... 352

.......................................................... 359 ..................................................................... 359 .................................................................................. 360 ................................................................. 361 9. (Strings) ..............................................363 ....................................................................... 363 ................................................................................. 363 .................................................................................. 363 Unicode ....................................................................... 364

System.Char ........................................................................ 367 .NET Framework ................................................ 368

ASCII............................................................................... 364 Unicode ................................................................................................. 365 Unicode .............................................................................. 365 ...................................................................................... 366 ()..................................................................... 367 .................................................... 367 ................................................................ 368 ................................................................. 368 System.String ............................................................................. 370 .............................................. 370 System.String ........................................................ 371

Escaping ........................................................... 379 StringBuilder............. 381

........................................................ 381 StringBuilder ......................................... 382 StringBuilder......................................................................... 383 StringBuilder ...................................................... 384

.NET Framework

23

StringInfo........................................................................... 387 ................................................................. 389 ..................................................................... 390

StringBuilder ................................... 385 String StringBuilder ........................ 386 StringInfo .......................................................... 388

................................................................... 397

..................................................... 390 ........................................................................... 390 .............................................................. 393 ................................................................ 393 ................................................................... 395 .NET Framework ................................................................... 397 CultureInfo.................................................................................. 397 CultureInfo ................................................................. 397 CultureInfo ................................................................... 398 ................................................................ 399 .NET Framework .......... 399 ................................................................... 401 ................................................................................... 404 UTF.............................................................................. 405 UTF-8 ................................................................................................... 406 UTF-16.................................................................................................. 406 UTF-32.................................................................................................. 407 UTF-16 UTF-32............................................ 407 ........................................................................... 408 ...................................................................... 408 System.Text.Encoding .................................................. 409 Base64 ................................................................................... 411 Unicode Visual Studio.NET..................................................... 412

....................................................................... 401 ........................................................................... 405

.................................................................................. 416 ................................................................. 419 10. ..........................................................421 ....................................................................... 421 ................................................................................. 421 .................................................................................. 421 .......................................................................... 422

............................................................... 424

?....................................................................... 422 ? ............................................. 422 ....................................................... 423 .............................................................. 423 ......................................................................... 424 ................................................................ 425 .NET........................................................... 425 .............................................................................................. 426 ......................................................................................... 426 Escaping ............................................................ 427

........................................................ 426

24

.NET Framework

- .................................. 429 ............................................... 429 .......................................... 429 , ................................. 430 .................................... 430 ........................... 430 ............................................................................... 431 .................................................................... 434 "" ................................................. 436 ............................................................ 438 | ........................................................................ 441 - ...................................... 442 System.Text.RegularExpressions ....................................... 444

.................................................................... 430

.NET Framework ............................................ 444 ............................................................... 445 ........................................................... 446

........................................................... 452

................................................. 446 Match ......................................................................................... 447 Match() NextMatch() .................. 448 HTML ............................................ 448 ....................................... 450 Matches() MatchCollection ............... 451 ........................................................................... 452 () .............................................................. 453 ................................................................................... 454 .......................................................................... 454 Group GroupCollection .......................................................... 455 ? ............................................... 455 ...................................................................... 457 HTML .............................. 458 ................................................ 460 HTML ..................................... 461

.NET .................................................................. 455

........................................................... 459 Captures .......................................................................... 463 ....................................................... 465

...................................................... 468

................................................................................. 465 .................................... 465 IsMatch()............................................................... 466 e-mail ............................................................. 466 ............................................. 467 .......................................................... 468 .............................................. 469 MatchEvaluator ................................................................... 471 .................................................................. 472 Unescape() ............................................................................. 474

............................................. 471 Escape() Unescape() ................................................. 473 ....................... 474

.NET Framework

25

.... 477

Multiline ................................................................................................ 475 Singleline .............................................................................................. 475 IgnoreCase ............................................................................................ 475 ExplicitCapture ....................................................................................... 476 RightToLeft ............................................................................................ 476 Compiled ............................................................................................... 477 \G .............................................. 477 , ...................................................... 478 .................................................. 479 ....................................................................................... 480 ............................................................. 482 ..................................................... 482 Unicode ....................................................... 483 Unicode................................................................. 484

, Unicode ............................... 483 ......... 485 ............................................ 487 ........................................ 489

.............................................................. 488 ......................................................... 489 = ................................................ 489 ................................................................................... 490 ....................................................... 491 IP ......................................................................... 491 The Regulator .................................................................... 492

............................................................. 491 .................................................................................. 496 ................................................................. 497 11. ..................................................................499 ....................................................................... 499 ................................................................................. 499 .................................................................................. 499 ?...................................................... 500 .NET Framework............................................................ 501

................................................................................... 500 (base streams) ................................................................. 502 (pass-through streams) ................................................. 502 .................................................................... 502 ..................................................................................... 503 ...................................................................................... 504 ............................................................ 505 ................................................................................ 505 ..................................................... 506

System.IO.Stream ................................................................ 503

...................................................................... 506 ............................................................................ 507

............................................................................. 509

.................................................................. 507 .......................................................... 508 .......................................... 508

26

.NET Framework ......................................................................... 509 ........................................................................ 511 , ..................................................................... 515 MemoryStream .......................................................... 515 MemoryStream ........................................................... 516 File FileInfo ........................................................................... 517 ....................................... 518 Path ........................................................................................... 520 ........................................................................... 521 ........................................... 522 ? ............................................................................ 523

.......................................................................... 515 . File FileInfo .................................... 517 . Directory DirectoryInfo..................... 518

................................................. 522 IsolatedStorage ................................................................ 524 IsolatedStorage ............................................................... 525 .................................................................................. 526 ................................................................. 528 12. XML ..................................................................529 ....................................................................... 529 ................................................................................. 529 ................................................................................... 529 XML? ................................................................................ 531

XML HTML .................................................................................. 533 ........................................................ 534 XML? .................................................................. 535 XML ...................................................................... 535

XML (Extensible Markup Language) ........................................................... 531 markup ? ................................................... 531 XML markup ............................................................................. 531 ....................... 532 XML ............................................... 532 XML ...................................................................................... 532 XML .......................................................... 532 XML .................................................................................... 532 XML ........................................................................................ 532 XML HTML ....................................................... 533 XML HTML ........................................................ 533 XML .............................................. 534 XML ............................................... 534 .......................................................................... 535 ....................................................... 535 ..................................................................................... 536 ........................................... 536 ................................................................... 536 .................................................... 537 ...................................... 537 ............................................................... 538 ................................................. 538

.................................................................. 536

.NET Framework

27

....................................................................... 539

............. 539 XML ? .......................................................... 540 XML ............................................................................... 540 DTD ........................................................................................... 540 XSD ............................................................................................. 542 XDR ............................................................................................. 544 VS.NET ............................................................... 547 XML .................................................................... 552 XML ............................................................................ 552 DOM ..................................................................................................... 552 SAX ...................................................................................................... 553 .NET XML ................................................ 554 .NET DOM .............................................................................. 554 XML DOM ............................................. 555 XmlNode..................................................................................... 557 XmlDocument.............................................................................. 559 XML DOM .............................................. 559 XML DOM ........................................ 562 XmlReader .................................................................................. 563 pull push ............................................. 563 Push .......................................................................................... 563 Pull ............................................................................................ 563 XmlReader .................................................. 564 XmlReader .................................................... 564 XmlReader ............................................................................... 564

XML ................................................................................. 551

XML .NET Framework ................................................................... 554

DOM ............................................................ 557

SAX XmlReader .............................................................. 563

DOM SAX?..................................................... 566 XmlWriter........................................................................... 566

XML ........................................................... 571

XmlWriter .................................................................... 567 XmlWriter ................................................................................. 567 XmlWriter ................................................................................ 568 XmlValidatingReader .................................................................... 571 XmlValidatingReader , ........................ 572 XML ................................................................... 573 XML DOM.................................................................... 578 ................................................................................. 579 XPath .NET Framework.......................................................................... 582 XSLT................................................................................. 591 XSLT .NET Framework .......................................................................... 593

XPath ........................................................................................... 579 XSLT ............................................................................................ 591 .................................................................................. 597 ................................................................. 599 13. MS SQL Server..................601 ....................................................................... 601 ................................................................................. 601

28

.NET Framework

.................................................................................. 602 ............................................................. 603 ..................................................................... 603 ................................................................. 604 ................................................................................................ 606 .................................................................................. 606 ...................................................................................... 607 ........................................................................................ 607 () .................................................................................. 607 .................................................................... 608 .................................................................................. 609 ....................................................................................... 612 (Constraints) ...................................................................... 616 ................................................................................................ 616 SQL............................................................................................ 617 (Views) ..................................................................................... 617 (stored procedures) ................................................ 619 (Triggers).................................................................................. 620 ........................................................................................... 621 SQL Server ........................................................................... 627 SQL Server 2000 ................................................ 627 SQL Server 2000 ........................................................... 629 T-SQL ................................................................................ 632 Data Definition Language (DDL) ................................................................ 632 Data Manipulation Language (DML) ........................................................... 636 DBCC SQL Server .................................................................... 648 ............................................................................ 650 SQL Server ........................................................................ 654 ................................................................... 660

SQL Server................................................................. 626

.................................................................................. 664 ................................................................. 666 14. ADO.NET ...........................................667 ....................................................................... 667 ................................................................................. 667 .................................................................................. 668 ADO.NET.............................................. 669 ........................................................... 673

(connected model)............................................................ 669 (disconnected model)..................................................... 671 ........................................................................ 673 (-).................................................. 673 .......................................................................... 675 ....................................................................... 677 ADO.NET ......................................................... 678 ADO ADO.NET .............................................................. 679 (Data Providers) ADO.NET...................................... 681 ADO.NET ............................................ 683 ............................................... 684

ADO.NET? ......................................................................... 678 ADO.NET ................................................................ 680

.NET Framework

29

SqlClient Data Provider ................................................................... 684 SQL Server 2000 .................................................. 685 (Connection String) .................. 685 Connection Pooling.................................................................................. 687 ? ........................................................ 688 ........................................ 688 .................................................................... 689 .......................................... 690 ........................................... 691 Dispose() .............................................................. 691 SqlConnection .................................................................... 691 - SqlCommand ......................................................... 694 - SqlCommand ........................................................... 694 - SqlDataReader ......................................... 695 ............................................................................. 697 SqlCommand Server Explorer ....................................... 698 SqlCommand Toolbox .................................................. 698 .................................................... 700 SqlParameter .............................................................................. 702 ............................................................... 703

ADO.NET ........................................ 688

SqlConnection..................................................................... 690

SqlCommand ...................................................................... 694 SqlDataReader .................................................................... 695 ................................................................ 696 SqlCommand ............................................................ 698 SQL ............................................................. 700

.................................. 705 ............................................................. 706

......................................................... 710 OLE DB Data Provider ..................................................................... 711

SQL Server ........................................................... 706 ADO.NET .............................................................. 707 ............................................................................. 708

................................................................. 715 ................................................. 719

OLE DB ................................................................................ 711 OLE DB ................................................................................ 712 OLE DB ...................................................................... 712 .......................................................................... 716 ............................................................................. 718 MS SQL Server .............................................................. 719 Oracle.......................................................................... 719 MS Access .................................................................... 719 ............................................... 719 ? ............................................................................ 723 ......................................................................... 725 .......................................................................... 725 ...................................... 726 ADO.NET, XML ......................................... 727

............................................ 725 ADO.NET .......................................................... 725

30

.NET Framework .................................... 728 DataSet ............................................................................... 729 DataSet................................................................................... 729 DataSets .................................................................... 730 DataSet ............................................................................ 731 ..................................................... 736 DataTable ........................................ 737 DataTable ............................................................... 737 DataTable.................................................................. 738 DataTable ................................................................................. 738 ...................................................................................... 743 ForeignKey Unique ............................................................ 743 ........................................... 745 .......................................................................... 746 ....................................................... 747 ............................................................. 747 , ..................................................... 747 .......................................................................... 748 ........................................................ 749 () ................................................................ 749 DataSet.ReadXml() ................................................................................. 750 DataSet.WriteXml()................................................................................. 751 ReadXml() WriteXml() ............................................................ 752 DataAdapter .......................................................... 754 .......................................... 755 DataAdapter ...................................................................... 755 Fill() DataAdapter ......................................................... 756 MissingSchemaAction ............................................................. 757 ............................................................... 757 ........................................ 758 ................................. 759 AcceptChangesDuringFill ContinueUpdateOnError........................ 759 DataAdapter ......................................................................... 760 ........................................................ 760 CommandBuilder ......................................................................... 761 .................................. 763 DataSet ............................................ 763 DataAdapter ............................................................................ 764 ............................................................ 767 .......................................................................... 767 ? ................................................................... 768 GetChanges() HasChanges()? ................................... 768 DataSet.GetChanges() ............................................................... 769

DataSet ................................................................ 729

DataTable .......................................................................... 736

(constraints) ........................................ 743 ................................................................... 745 DataRelation ....................................................................... 746

DataView ........................................................................... 748

DataSet................................. 750

DataAdapter ............................................................ 754

DataSet.GetChanges() DataSet.HasChanges() ................................. 767

.NET Framework

31

.............................. 770 XmlDataDocument............................................................... 777

DataSet DataTable ................................................ 769 DataSet DataAdapter ............ 771 XmlDataDocument ............................................................ 777 ....................................................................... 777 XmlDataDocment ...................................................................... 778 SQL ..................................................... 780 Connection pooling ................................................................ 780 connection string ............................................................ 780 ....................................................................................... 781 ................................................................ 781

......................................... 780

.................................................................................. 781 ................................................................. 784

2 15. Windows Forms785 16. ASP.NET ..................786 17. ...........787 18. ..............................788 19. (Reflection) .............................789 20. .................................................790 21. ASP.NET .....................................................791 22. (Remoting) ..............792 23. ............................793 24. .............................794 25. ......................................795 26. .NET Framework..........................................796 27. Mono - .NET .....................797 28. .NET ...............798 29. .......................................................799 ....................................................................................800

". ". , , . , , (.NET, Java, Oracle, PKI .). 2004 . " " . "", . MCSD MCSD.NET.

() . . : .NET Enterprise Developer Java Enterprise Developer 3 . ! ! ! , . .

.

http://academy.devbg.org

, . - , - . , , , " ", . .NET Framework, , . .NET Framework C#, - . .NET, , .NET , - .

?.NET Framework? ? Microsoft ? C++ Java? A C#? C C++? ? ? .NET? , ! , .NET Framework , . . , , .NET . , .NET Framework C#, , , , . .NET , , . .NET ,

34

.NET Framework

, .

, . , ! , , , . . - () , , C#.

.NET Framework?.NET Framework . , . .NET Framework . .NET (C#, VB.NET, Managed C++ ) , IL (Intermediate Language). IL (. . ) , , . .NET Framework , , , /, , XML, , , .

? .NET Framework ( , , , , , .), ADO.NET ( ), Windows Forms ( ), ASP.NET ( ) . , .NET Framework. Microsoft

.NET Framework

35

.NET Framework - , . - , , : .NET Framework, (CLR), C# - , (CTS), (Framework Class Library), ADO.NET, XML, Windows Forms - ASP.NET. , , , , (remoting), , , , - . .NET Framework Linux (Mono). , - .NET .

.NET Framework 1.1 .NET Framework 1.1, Visual Studio .NET 2003 MS SQL Server 2000. .NET Framework 2.0, Visual Studio 2005 SQL Server 2005, . .NET Framework 2.0, , 2.0 , - , .

? , , . , , , . . , , . . , . , , .

36

.NET Framework

, ? , , ( , ). - , .

C#? C#, , .NET Framework . : C# .NET Framework. .NET Framework . C# Java, C++ Delphi. . C# - .NET - . C# C- Java, C++, C PHP. , , . C# (blogs) . C# , .NET . C# - . C++, Visual Basic JScript .NET Framework, . , .NET.

-

-

-

.NET Framework, C#. , .NET , C# -. C++ .NET Framework, . .NET . - C# - C#, . C++, C# , , -. , Visual Basic .NET (VB.NET) , C# -

.NET Framework

37

.NET . Visual Basic ( - ). BASIC , ( Microsoft) . - . - BASIC, VB.NET: , BASIC , , . BASIC. VB.NET - , C#, - ( C- ). .NET Framework . . . C# .

29 , . 1 14 , 2 15. . . , -.

1. .NET Framework 1 .NET, Microsoft , .NET Microsoft .NET Framework. , IL, (Common Language Runtime) .NET . Common Language Specification (CLS), Common Type System (CTS), Common Language Infrastructure (CLI), , Framework Class Library Visual Studio .NET.

38

.NET Framework

. .

2. C# 2 #, . Visual Studio .NET 2003 . , , C#. XML #. . .

3. - .NET 3 () .NET Framework C#. "", "" "" C#. " " (-, , , , .) . . C# . . . .

4. .NET 4 .NET Framework . . .NET Framework. () . . . .

.NET Framework

39

5. 5 (Common Type System) .NET Framework. , System.Object , . , , , , . . .

6. 6 "". , , . "" . . . .

7. 7 .NET Framework, . . . .

8. 8 .NET Framework. , (. . ), System. Array. . .NET Framework, ArrayList, Queue, Stack, Hashtable SortedList, , . . .

40

.NET Framework

9. 9 .NET Framework . , . , . () , , . , . . . .

10. 10 , - , . , . , , .NET Framework. , , , - , . . . .

11. / 11 , .NET Framework. , . , . , , .NET Framework . . .

.NET Framework

41

12. XML 12 XML .NET Framework. XML. HTML. XML, XML (DTD, XSD, XDR). Visual Studio .NET XSD . XML (DOM SAX) .NET Framework. DOM (XmlNode XmlDocument) XmlReader SAX .NET Framework. XmlWriter XML . XML . .NET Framework XML- XPath XSLT. , . .

13. MS SQL Server 13 . , , , , , , , . SQL, . Microsoft SQL Server, RDBMS . . SQL, T-SQL, DDL, DML DBCC . SQL Server , , . . , . .

14. ADO.NET 14 , ADO.NET . ADO.NET, . , .

42

.NET Framework

a SqlClient MS SQL Server SqlConnection, SqlCommand SqlDataReader. ADO.NET. OLE DB. . ADO.NET DataSet DataTable. , , DataSet. DataAdapter . . ADO.NET XML, , . ( ) ( ). . .

15. Windows Forms 15 Windows Forms - (GUI) .NET . Windows Forms, , , , , , - : MDI , data-binding, , Internet Explorer, Windows Forms . (- ) . .

16. ASP.NET 16 ASP.NET. ASP.NET, , , , . . , . View State Session State. -

.NET Framework

43

, . ASP.NET Internet Information Server (IIS) . . .

17. 17 , .NET Framework . (threads), , , , . , . .NET Framework, . .NET Framework (thread pool), , . . .

18. 18 , .NET Framework . , . TCP UDP , , - , IP , DNS . e-mail .NET Framework. . .

19. (Reflection) 19 Global Assembly Cache (GAC) (reflection). . .

44

.NET Framework

. , . . . .

20. 20 .NET Framework. , . (formatters). XML , XML . . . .

21. ASP.NET 21 , ASP.NET .NET Framework. , , . . ASP.NET , (deployment). .NET Framework. . . .

22. (Remoting) 22 , .NET Framework . Remoting : , , . . . Remoting . Remoting . . . .

.NET Framework

45

23. 23 .NET Framework Windows (API). Win32 () Win32 .NET . .NET Framework COM ( Windows). COM .NET , .NET COM . IJW , Managed C++. . . .

24. 24 .NET Framework. . - .NET (. . garbage collector). , -. . .

25. (deployment) 25 - .NET , , . . . .

26. .NET Framework 26 .NET Framework . , , , . .NET Framework Code Access Security,

46

.NET Framework

Role-Based Security, - , XML (XMLDSIG) . . . .

27. Mono - .NET 27 Microsoft .NET Framework Mono. Mono, ASP.NET ADO.NET, . . . . . .

28. .NET 28 , .NET . . , . .NET Reflector, FxCop, CodeSmith, NUnit ( NMock, NUnitAsp NUnitForms), log4net, NHibernate NAnt. . . .

29. 29 , . GUI . : , , , , . ( MS SQL Server 2000), ( ASP.NET ) ( ASP.NET Windows Forms GUI ).

.NET Framework

47

. : ( Windows Forms ), ( ) ( ASP.NET ). . , , . , , . .

, , . : - .NET Framework ( MSDN Library) . .NET ( "", "" ""). - . ( "framework" "deployment") . ( ), .

-

-

, , , , , , , . - :

: private const int MAX_VALUE = 4096; private const string INPUT_FILE_NAME = "input.xml"; , C, C++, Java C#.

48

.NET Framework

- "m": private Hashtable mUsersProfiles; private ArrayList mUsers; , Microsoft , -, . "m" "member" ().

"a": public void IsLoginValid(string aUserName, string aPassword) { // ... } , , , . "a" "argument" ( ).

, Microsoft ( , Microsoft ) - , . : (namespace) (, , ...) (interface) (enum type) (enum value) (read-only field) - (constant) (property) Pascal Case Pascal Case Pascal Case, "I" Pascal Case Pascal Case Pascal Case UPPERCASE Pascal Case System.Windows.Forms TextWriter ISerializable FormBorderStyle FixedSingle UserIcons MAX_VALUE BorderColor

.NET Framework

49

(event) (method) - (field) - (static field) (parameter) (local variable)

Pascal Case Pascal Case Pascal Case, "m" Pascal Case, "m" Pascal Case, "a" Camel Case

SizeChanged ToString() mUserProfiles mTotalUsersCount aFileName c