1032

Programming .NET Framework Book vol.2 - Nakov

Embed Size (px)

DESCRIPTION

Програмиране за .NET FrameworkСветлин Наков и колектив

Citation preview

2 .......................................................................... 2 .....................................................................................13 ...............................................................33 15. Windows Forms.................................................................................55 16. ASP.NET ..................173 17. ...........283 18. ..............................349 19. (Reflection) .............................431 20. .................................................459 21. ASP.NET .....................................................501 22. .NET Remoting......................587 23. ............................631 24. .............................675 25. ......................................747 26. .NET Framework..........................................815 27. Mono .NET Framework ..863 28. .NET ...............909 29. .......................................................971 ........................................................1031

.NET Framework

, 2004-2006

.NET Framework ( 2) (), 2006 . : : , ; , , , ; ; , , .

-

-

: , ( ), ; .

-

, , .

: www.devbg.org/dotnetbook/ISBN: 954-775-672-9 ISBN: 978-954-775-672-4

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

() . . : ( C# Java) Core .NET Developer Core Java Developer . ! .

Microsoft. MCSD, MCSD.NET, MCPD MVP .NET INETA. .NET .

! .

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 . " " . Java .

() . . : ( C# Java) Core .NET Developer Core Java Developer . ! .

Microsoft. MCSD, MCSD.NET, MCPD MVP .NET INETA. .NET .

! .

http://academy.devbg.org

2 .......................................................................... 2 .....................................................................................13 ...............................................................33 ?................................................ 33 ?........................................ 34 ? ................................................... 34 ........................................... 35 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ................................................................. 33 .NET Framework 1.1 ......................................................... 34

....................................................................... 40

Windows Forms .................. 35 ASP.NET .................................. 35 ............................ 36 ............................................. 36 (Reflection)............................................. 37 ............................................................. 37 ASP.NET................................................................. 37 (Remoting) ............................... 38 ........................................... 38 ............................................ 38 (deployment)................................. 39 .NET Framework....................................................... 39 Mono - .NET..................................... 39 .NET ............................... 39 .................................................................. 40

.................................................................................... 40 ........................................................................ 41 ......................................................................................... 41 ................................................................................... 41 ......................................................................................... 41 ........................................................................................ 42 ............................................................................................ 42 ........................................................................................ 42 ........................................................................................ 42 ............................................................................................ 43 ......................................................................................... 43 ............................................................................................. 43 ......................................................................................... 44 ....................................................................................... 44 .......................................................................................... 44 ........................................................................................... 44 .......................................................................................... 45

14

.NET Framework ( 2) ...................................................................................... 45 ................................................................................... 45 ................................................................................... 45 ................................................................................... 46 ........................................................................................ 46 ..................................................................................... 47 ....................................................................................... 47 ........................................................................................ 47 ........................................................................................ 48 ....................................................................................... 48 ..................................................................................... 48 ............................................................................................ 49 ............................................................................................ 49 .......................................................................................... 49 ......................................................................................... 49 ................................................................................... 50 ............................................................................................. 50 ........................................................................................ 50 ................................................................................ 51 .................................. 51 Microsoft Research .................................................................................... 51 SciForge.org ............................................................................................ 51 ". " ......................................... 52 telerik ..................................................................................................... 52

................................................................................ 50

........................................................................... 52 ........................................................................................... 52

..................................................................................... 52 ..................................................... 53 ............................................................. 53 ................................................................... 54 Microsoft Research ................................................ 54

15. Windows Forms.................................................................................55 ........................................................................................... 55 ......................................................................... 55 ................................................................................... 55 .................................................................................... 56 Windows Forms? .................................................................. 57Windows Forms RAD ......................................... 57 Windows Forms GUI........................ 58 Windows Forms .................................................................... 58 Windows Forms ............................................................... 59 Unicode................................................................ 59 ............................................................ 59 ActiveX ..................................................................................... 59 ............................................................................... 60 Windows Forms Internet Explorer ............................................... 60 (GDI+) ........................................................ 60 Windows Forms ................................................. 60 System.Windows.Forms ..................................................... 62

.NET GUI ..................................... 62

.NET Framework ( 2)

15

.................................................................... 63 ......................................................................... 63 .NET Framework.......................................... 63

System.Drawing ................................................................ 63

Windows Forms .NET ................................. 64 Windows Forms ................................................. 64

........................................................................ 63 .......................................................... 63 System.ComponentModel ................................................... 64 - ............................................................... 64 .................................................................................................... 64 ................................................................................................ 65 .................................................................................................. 65 Windows Forms ......................................... 65 ...................................................... 67 ........................................................... 69

Windows Forms ................................................... 69 .................................................................... 70 Control ................................................................................ 71

ScrollableControl ................................................................... 74 ContainerControl ................................................................... 75 , ............................................................. 75

Control ........................................................................ 71 Control ........................................................................... 73 Control.......................................................................... 73

Windows Forms.................................................. 78

System.Windows.Forms.Form .......................................................... 75 - Form ............................................................. 75 - Form................................................................ 77 - Form .............................................................. 78 TextBox................................................................................................... 78 Label ...................................................................................................... 79 Button..................................................................................................... 79

................................................. 79 ................................................................. 79 Windows Forms VS.NET ............................................... 83

...................................................................... 80 ................................................................................ 83 .............................................................................. 84 ........................................................ 84 ............................................................................. 84 ........................................................ 85 Windows Forms VS.NET ... 86 .................................................................... 88 .................................................................. 89 DialogResult ........................ 89 CheckBox ................................................................................................ 92 RadioButton ............................................................................................. 92 Panel ...................................................................................................... 92

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

Windows Forms ........................................................ 92

16

.NET Framework ( 2) TabControl TabPage ............................................................................... 93 ListBox .................................................................................................... 93 CheckedListBox ........................................................................................ 93 ComboBox ............................................................................................... 94 TreeView ................................................................................................. 94 RichTextBox ............................................................................................. 94 LinkLabel ................................................................................................. 95 PictureBox ............................................................................................... 95 Windows Forms ...................................... 95 MainMenu ................................................................................................ 99 ContextMenu............................................................................................ 99 MenuItem ................................................................................................ 99 ToolBar ................................................................................................. 100 ToolBarButton ........................................................................................ 100 ImageList .............................................................................................. 100 StatusBar .............................................................................................. 101 StatusBarPanel ....................................................................................... 101 OpenFileDialog ....................................................................................... 101 SaveFileDialog........................................................................................ 102 ........................................................... 102 MDI (MDI parents) ................................................................ 104 MDI (MDI children) ....................................................................... 104

.......................................................................................... 99

..................................................................... 100

................................................................................. 101 ............................................................... 101

MDI ........................................................................... 103 .............. 104 ...................................................................... 115 ...................................................................... 121

................................................................ 116 ............................................................................... 122 , ............................................. 122 .................................................................................. 122 .................................................................................. 123 ................................................................................. 131 DataGrid ................................................... 133 TableStyles ........................................ 135 Master-Details .......................................................... 138 Master-Details ................................................ 141 " "..................................................................... 141 ............................................................. 142 Graphics ..................................................................................... 147 System.Drawing ....................................................... 147 System.Drawing .................................................. 148

DataGrid...................................................................... 133 Master-Details ............................................................... 137

.................................................................. 142 System.Drawing GDI+ ..................................................... 146

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

, ............... 151

.NET Framework ( 2)

17

Internet Explorer .......................................... 157 Windows Forms ................................................................ 160 (Drag and Drop)................................................................ 165 ....................................... 167 .................................................................................. 169 ................................................................. 172 16. ASP.NET ..................173 ......................................................................................... 173 ....................................................................... 173 ................................................................................. 173 .................................................................................. 174 .................................................................................... 175

.............. 151 , ...... 152 ............................................................ 152 Internet Explorer ..................................... 157 Windows Forms ................... 161 Windows Forms .......................................... 165 .................... 167

.................................................................................... 183

ASP.NET ................................................. 175 ASP.NET ........................................................... 175 ASP ASP.NET ................................................................ 176 ASP.NET ......................................................................... 176 ASP.NET?.............................................................................. 177 ........................................... 178 ASP.NET.......................................................................... 179 ..................................................................... 180 ASP.NET Web Application VS.NET ........................................... 181 ASP.NET............................................................ 182 (Web Form)?.............................................................. 183 ........................................................................ 183 ............................................................................................. 184 ........................................................................ 185 ...................................................... 185 ........................................................................................ 186 ASP.NET .................................................................... 186 ASP.NET ................................................................... 187 HTML (HTML server controls) ....................................... 188 (Web server controls) ........................................... 190 ? .................................................................... 191 ........................................................... 192 ................................................................. 195 Inline code............................................................................................. 195 Code-behind .............................................................................. 196 code-behind?......................................................................... 196 JIT ...................................................................................... 196 ......................................................................... 197

................................................................................ 186

Code-behind.................................................................................. 195

....................................................................................... 197

18

.NET Framework ( 2) AutoEventWireup ................................................................... 197 IsPostBack ............................................................................ 198 AutoPostBack ........................................................................ 199 HTML escaping .......................................................... 200 DataBind()? ............................................................ 202 ................................................ 203 ADO.NET ................................................................................. 209 ........................................................................ 210 (data binding) .......................................................... 210 ............................................................. 212 ................................................................................ 213 .............................................................................. 219 (Cookies) ............................................................................... 228 ....................................................................................... 230 (Query Strings) ................................................. 231 ViewState.......................................................................... 232 ................................................................... 234 ............................................................................. 237 RequiredFieldValidator ............................. 240 CompareValidator ...................................... 241 RangeValidator ....................................... 242 RegularExpressionValidator ....................... 243 CustomValidator ................................................... 243 ValidationSummary ................................................. 246 ......................................................... 247 .............................................................. 247 ? ................................................... 248 ? ....................................................................... 248 ............................................... 249 ..................................................... 250 ........................ 250 .................................................... 250 ................................................... 251 ...................................... 251 ...................................................... 254 ........................................................................................ 254 ........................................................................... 257 ................................................................. 258 ASP.NET .................................................. 262 ................................................................. 266 .................................................................... 268 ASP.NET.............................................................. 269

ASP.NET ............................................ 198 HTML escaping ................................................................ 200 (Data binding) ................................................... 202 ASP.NET ................................................. 209

............................................................ 228

...................................................................... 239

................................................................ 250

.................................. 254

, ASP.NET .. 258

ASP.NET ..................................................................... 268

.NET Framework ( 2)

19

.................................................................................. 279 ................................................................. 281 17. ...........283 ......................................................................................... 283 ....................................................................... 283 ................................................................................. 283 .................................................................................. 284 ............................................................................ 285

(IIS Security) .................................................. 276

.......................................................................................... 291

............................................................................................ 285 .................................................................. 285 .................................................. 285 ................................................................ 287 ................................................................................... 287 ? ..................................................................... 288 ? ....................................................................... 288 ....................................................................... 288 ......................................................... 289 (Application Domains) ...................................... 290 ? ............................................................................ 291 Thread ....................................................................................... 293 ............................................................................................. 298 ............................................................................................. 299 ................................................................................. 300 ......................................................................... 300 Thread Local Storage ( )..................................... 305 Thread-Relative Static Fields ( , ) ........... 306 ........................................................... 308 ......................................................... 308 - ................................................... 310 "" (synchronized code regions) ........................ 311 (Synchronized Contexts) .................................. 315 MethodImplAttribute ............................................................................... 317 WaitHandle ................................. 317 Mutex......................................................................................... 318 AutoResetEvent ManualResetEvent.......................................... 320 Interlocked ................................................................................. 323 ..................................................... 325 ........................................................................................... 330 .......................................................................................... 330 ThreadPool.................................................................................. 330 ThreadPool.RegisterWaitForSingleObject() ..................................... 331 ISynchronizeInvoke........................................................... 333 Windows Forms ISynchronizeInvoke ....................................................... 335 System.Timers.Timer .............................................................................. 336 System.Threading.Timer .......................................................................... 338

............................................................................. 310

(ThreadPool) ............................................................. 329

ISynchronizeInvoke .................................................... 333 ....................................................................................... 335

20

.NET Framework ( 2) System.Windows.Forms.Timer .................................................................. 340 ? ......................................................................... 341

Volatile .............................................................................. 341 ................................................................. 342

.................................................................................. 348 ................................................................. 348 18. ..............................349 ......................................................................................... 349 ....................................................................... 349 ................................................................................. 349 .................................................................................. 349 OSI .................................................................................... 350

? .............................................................. 342 ? ................................................... 342 ........................................................ 342 ........................................................ 343 .................................... 343 IAsyncResult ...................................................................... 344 ............................. 344

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

..................................................................................... 351 ( ) ............................................................. 351 ....................................................................................... 351 .................................................................................. 351 ........................................................................................ 351 ............................................................................. 351 ...................................................................................... 351 IP ................................................................................................ 352 Domain Name Service (DNS) .................................................................... 352 ..................................................................................................... 352 ........................................................................ 353 ................................................................................ 353 Loopback ............................................................................... 353 TCP ..................................................................................... 354 UDP..................................................................................... 354 ""? ............................................... 354 System.Net.Sockets......................................................... 355 System.Net .................................................................... 356 IPAddress ................................................................................... 357 IPEndPoint .................................................................................. 359 TcpClient......................................................... 360 TCP ......................................... 362 TCP TcpClient NetworkStream ............. 363 TcpClient ........................................................... 366 TCP TcpClient........................... 370 TcpListener........................................................................ 371 TCP ........................................................................ 371

.NET ....................................... 355 IP .NET Framework.................................... 357 TCP TcpClient ............................................. 359

TCP TcpListener ......................................... 371

.NET Framework ( 2)

21

.................................. 375 UDP UdpClient .................................................... 382

TCP .................................................................... 373 TcpListener .................... 376 UdpClient...................................................................... 383 ...................................... 383 UDP Send().............................................. 384 UDP Receive() ......................................... 385 UdpClient .......................................................... 385 Socket ............................................ 387 Socket ........................................................... 388 TCP .......................................................................... 389 .............................................. 396 UDP .......................................................................... 397 Blocking ............................................................................... 403 ................................................................................ 403 Poll() Select() ................................................................... 404 Broadcasting ................................................................................ 406 Multicasting ................................................................................. 406 DNS ......................................................................... 409 HTTP .................................................................. 410 HTTP.................................................................. 413 Credentials ..................................................................... 414 WebClient ...................................................... 415 HHTP ..................................................................... 416 HTTP ..................................................... 416 HTTP ................................................................... 417 Cookies............................................................................. 418 WebRequest WebResponse................................................ 419 HTTP ............................................................... 419 ........................................ 421 .NET Framework .................................. 421 .............................................................. 421 .N Framework ..................................... 422

- Socket ........................................ 387

............................................ 403

Multicasting .NET Framework ........................................................ 406 DNS Dns ...................................... 408 WebClient ......................................... 409

HTTP HttpWebRequest HttpWebResponse ........... 416

............................................................. 420

.................................................................................. 428 ................................................................. 429 19. (Reflection) .............................431 ........................................................................................... 431 ....................................................................... 431 ................................................................................. 431 .................................................................................. 431 Global Assembly Cache?...................................................... 432

GAC ............................................................ 432 ................................................................... 433

22

.NET Framework ( 2) GAC Windows Explorer .................................................... 433 GAC Administrative Tools................................................. 435 Reflection? ................................................................................. 437 ........................................................................ 437 ......................................................... 438 ...................................................... 440 ........................................................... 440 Reflection ................................................... 445 ................................................... 446 Reflection Emit ....................................................................................... 453

................................................................. 437

.................................................................................. 457 ................................................................. 458 20. .................................................459 ........................................................................................... 459 ....................................................................... 459 ................................................................................. 459 .................................................................................. 459 ............................................................................... 460

XML ......................................................................... 488

(serialization)?....................................................... 460 (deserialization)? ................................................ 460 ? ............................................................. 460 ? ........................................................ 461 ? ............................................................ 462 (Formatters).......................................................................... 462 .................................................................... 463 .............................................................. 464 .......................................................... 465 ............................................................. 466 ........................................................ 469 .................................................... 475 IDeserializationCallback ........................................................................... 478 ISerializable ....................................... 481 ...................................................... 487 XML ? .................................................................... 488 XML ................................................................... 488 XML ........................................................ 489 XML .............................................................. 491 XML ............................................... 492 XML .................................................. 496 .......................................... 497 ......................................................................... 499 ..................................................................... 499

: FormatterServices ...................................................... 498 .................................................................................. 499 ................................................................. 500 21. ASP.NET .....................................................501 ......................................................................................... 501 ....................................................................... 501

.NET Framework ( 2)

23

................................................................................. 501 .................................................................................. 502 ........................................................ 503 ..................................................................... 503 ...................................................... 503 ........................................................................... 504 ? ..................................................................................... 506 ? ............................................................................... 506 ...................................................... 507 ....................................................................... 509 ........................................................................ 511 WSDL ....................................................................... 512 SOAP .................................................................... 515 ............................................................ 520 ............................................................................... 521 .......................................................... 522 .................................................................... 522 ............................................................................. 522 Enterprise ................. 523 Enterprise?................................................................ 523 .NET Enterprise .................................................................... 524 ........................................................................... 526 ASP.NET ...................................................... 527 ........................................................................ 528 ........................................................... 529 ..................................................................... 529 ....................................................................... 536 VS.NET ................................... 540 ....................................................................... 542 (marshalling)....................................................... 544 ........................................................................ 553 ASP.NET................................... 553 ....................................................... 555 ................................................................... 558 .............................................................................. 562 ...................................................................... 566 ................................................................. 572

.................................................................................... 506

.................................................... 508

........................................ 521

Enterprise ................................................................... 523 ASP.NET ................................................................. 526

.................................................................................. 584 ................................................................. 586 22. .NET Remoting......................587 ........................................................................................... 587 ....................................................................... 587 ................................................................................. 587 .................................................................................. 587 ............................................................. 588 .NET Remoting? ................................................................. 588

24

.NET Framework ( 2)

Remoting? ........................................................... 588 Remoting ........................................................... 589Microsoft Indigo (WCF) ............................................................................ 589 Remoting ? ................................................. 590 Remoting .................................................................................... 590 (formatters) .......................................................................... 592 .............................................................................. 593 ............................................................. 594 ............................................ 596 (Marshaling) .................................................................... 598 (Lifetime) .................................................................. 600 Remoting ....................................................... 606 ................................................................... 619 XML ...................................................................................... 619 .NET Remoting ....................................................................................... 619 .................................................................. 620 ............................................................................. 622 .............................................................................. 624 ............................................................. 625 ................................................................... 628 ........................................................... 628 Soapsuds.exe......................................................................................... 629

Remoting ........................................................................ 617

Remoting ............................................... 620

........................................................... 628

Remoting IIS ................................................... 629 .................................................................................. 629 ................................................................. 630 23. ............................631 ........................................................................................... 631 ....................................................................... 631 ................................................................................. 631 .................................................................................. 631 ? .............. 633 ................................................ 633 (P/Invoke) ................................................ 636

.NET CLR ( ) ....................... 634 JVM .......................................................................... 634 DllImport .................................................................................. 636 P/Invoke? ............................................................................. 640 DUMPBIN............................................................................... 640 ................................................... 641 ................................................................... 644 .................................................. 644 ..................................................................... 646 ....................................................................... 646 MarshalAs.................................................................................. 648 (callback) ................... 649 .......................................................... 650

(marshalling) ............................................ 643

COM (COM interop).............................................. 655

.NET Framework ( 2)

25

C++ IJW.................................................. 667 .NET COM ............................ 668 .................................................................................. 673 ................................................................. 673 24. .............................675 ......................................................................................... 675 ....................................................................... 675 ................................................................................. 675 ................................................................................... 676 .............. 677 ...................................... 677 .NET Framework ....................................... 681

COM? ........................................................................................ 655 COM .......................................................... 655 COM .................................................................... 656 COM ............................................. 657 .NET COM ........................................ 662 IJW C++ .............................................................. 667 Immutable ?......................................... 669 CLRSpy ................. 670

. 679 ......... 682 .NET? ................................................................... 685 garbage collector?.................................................................. 687 ................................................................................... 691 .................................................................. 695 ............................................................... 696 ? ........................................................................... 697 C# ............................................................................... 697 ........................................................................... 699 ......................................................................................... 699 Freachable.............................................................................. 701 ................................................................... 701 .......................................................... 702 ?....................................................................... 703 ........................................................................... 703 IDisposable ........................................................................ 706 using................................................................................... 706 IDisposable Finalize .............................................................................. 707 , .... 709 Close() IDisposable ................................ 715 IDisposable.Dispose()?................................................. 716 ........................................................................... 716 .................................................................. 720 ......................................... 720 .................................................. 720 .......................................................... 721 Pinning.................................................................................................. 721

.NET .................................................... 696

IDisposable .................................. 705

................. 716

26

.NET Framework ( 2) Interop..................................... 722

........................................................................ 725 .................................................. 726 " " ...................................................... 738 .................................................................................. 745 ................................................................. 746 25. ......................................747 ........................................................................................... 747 ....................................................................... 747 ................................................................................. 747 ................................................................................... 748 .NET Framework ....................................................... 749

............................................ 739

................................................. 751

IL ............................................ 749 (security boundary) ............ 749 (type boundary) ..................... 750 (reference scope boundary) .. 750 (version boundary) ................. 750 ..................................................... 750 (deployment units) ................ 751

.NET Framework.................................. 761 CLR ? ........................................................ 763

............................................................................. 751 ..................................................................... 752 ............................................................... 753 ....................................................... 755 ildasm........................................ 757 .................................................................. 759

Global Assembly Cache ................................................................... 766

1: (probing).................................................. 764 2: .................................... 764 Publisher Policy File ............................................................ 765 DLL (DLL Hell) ................................................................................ 766 Side-by-side execution ............................................................................ 767 GAC .......................................................... 767 GAC ........................................................................... 768 ................................................................................... 770 ............................................................................................. 772 .................................................................... 774 COM ............................................................................ 775 (Serviced Components) ........................................... 776 Internet Information Server (IIS).......................................... 777 Windows ......................................................... 781 (Merge Modules) ............................ 781 CAB ......................................................................................... 782 ....................................................................................... 782 Debug Symbols ...................................................................................... 783 No-Touch Deployment (.NET Zero Deployment) .......................................... 785

...................... 769

.............................................................. 785

.NET Framework ( 2)

27

MSI .......................................... 798

Windows Installer ................................................................................... 788 ................................................... 796 Windows ....... 799 .................................... 809 VS.NET 2003 .... 811 / MSI .......................................... 811

.................................................................................. 813 ................................................................. 814 26. .NET Framework..........................................815 ......................................................................................... 815 ....................................................................... 815 ................................................................................. 815 .................................................................................. 816 .NET Framework ....................................................... 817

(Code Access Security) ........................................ 827

........................................................................ 817 "Buffer overrun" ..................................................................... 817 ................................................................................. 818 ....................................................... 819 Application Domains................................................................................ 820 ............................................................. 821 - ................................................................... 824 Isolated Storage................................................................. 826 .NET Framework .............................................. 827 (Permissions) ............................................................................... 829 "Stack Walk" ......................................................... 830 ............................................. 831 .................................................................... 833 Identity Principal .................................................................. 833 WindowsIdentity WindowsPrincipal ............................................ 834 ......................................... 834 GenericIdentity GenericPrincipal ................................................ 835 Principal ................................................................. 835 ............................................. 837 .................................................................... 840 ............................................................... 842 .............................................................. 845 ..................................................................... 848 XML ......................................................................................... 850

(Role-Based Security) ........................... 833

.NET Framework .................................................... 840

.................................................................................. 860 ................................................................. 862 27. Mono .NET Framework ..863 ......................................................................................... 863 ....................................................................... 863 ................................................................................. 863 ................................................................................... 864 Mono.............................................................................. 865

28

.NET Framework ( 2) .............................................................................. 865 .................................................................................. 865 ..................................... 865 Mono Mono Mono Mono Linux ........................................ 866 Windows.......................................................... 869 Mac OS X......................................................... 869 FreeBSD .......................................................... 869

Mono .......................................... 866

..................................................................... 870

Mono?.................................................................... 872

MonoDevelop ......................................................................................... 870 Eclipse .................................................................................................. 871 Emacs Vim .......................................................................................... 872 X-Develop.............................................................................................. 872 KDevelop............................................................................................... 872 ................................................................................. 872 C# mcs ........................................................................ 874 Mono gmcs ............................................................................................ 874 Visual Basic .NET mbas ....................................................... 875 Mono ilasm monodis ...................................... 875 Mono mdb ........................................................................... 875 Monodoc ....................................................................... 876 Mono ..................................................................................... 877 ............................................................................. 878 ............................................................................................ 879 ......................................................................................... 879 ........................................................................................... 879 .................................................................................... 879 mdb Hello Mono ................................................ 880 Npgsql Data Provider PostgreSQL ....................................................... 881 MySQL Data Provider............................................................................... 883 OracleClient The Oracle Data Provider ..................................................... 884 SqlClient Data Provider Microsoft SQL Server ....................................... 884 ASP.NET Mono.................................................................................. 886 ............................................................................................ 890 Windows Forms ...................................................................................... 894 Gtk#..................................................................................................... 895 Glade#.................................................................................................. 896 Gnome#................................................................................................ 902 QT#...................................................................................................... 902 Cocoa# Mac OS .................................................................................. 903

Hello Mono Mono........................................................................ 878

ADO.NET Mono ........................................................................... 881

Mono ............................................................... 886 Mono ........................................................ 894

? ......................................................... 903 Tao Framework .......................................... 904

Java, Python, PHP Mono ............................................................... 906

Tao Framework ...................................................................................... 904 SDL.NET................................................................................................ 905 AXIOM .................................................................................................. 905 Java .NET CLR .................................................................................... 906

.NET Framework ( 2)

29

.................................................................................. 907 Mono ................................................................... 907 ................................................................. 907 28. .NET ...............909 ......................................................................................... 909 ....................................................................... 909 ................................................................................. 909 .................................................................................. 909 .............................................. 910 .NET Reflector ............................................................................... 910 FxCop........................................................................................... 913

Python PHP Mono ........................................................................... 907

............................................................................................... 910 ........................................................................................ 912 FxCop.................................................................................... 914 FxCop ................................................................ 914 FxCopCmd .............................................. 916 FxCop ................................................................ 916 .......................................................................... 917 ................................................................................. 917 CodeSmith ..................................................... 919 CodeSmith .......................................................................... 922 .......................................................................... 924 unit ? ............................................................ 924 Nunit....................................................................... 925 ........................................................................ 928 ......................................................... 930 ? ...................................................... 930 ....................................................................... 931 Mock (Mock objects) ..................................................................... 933 NMock...................................................................................... 933 NUnit.............................................................................. 935 .......................................................................... 938 "" ............................................................................ 939 log4net .......................................................... 939 log4net ........................................................................... 940 log4net ............................................................ 944 log4net ................................................................................... 945 .......................................................................... 949 ................................... 949 ADO.NET DataSets .................................................... 950 - ................................................................... 951 NHibernate .................................................... 952 NHibernate ....................................................... 958 ................................................................................ 958 .......................................................................... 958

CodeSmith .................................................................................... 917

NUnit ........................................................................................... 924

Log4net ........................................................................................ 939

NHibernate.................................................................................... 949

NAnt ............................................................................................ 958

30

.NET Framework ( 2) NAnt? .......................................................................... 959 .................................................................................. 959 ................................................................................... 960 NAnt ............................................................... 961 ................................................................ 962 .......................................................... 963 Microsoft Visual Studio.NET .................................................. 964 NUnit ................................................................................ 965 .......................................................................... 966 NDoc .................................................................................................... 966 GhostDoc............................................................................................... 966 Snippet Compiler .................................................................................... 967 ASP.NET Web Matrix ............................................................................... 967 Tree Surgeon ......................................................................................... 967 NDepend ............................................................................................... 967 CruiseControl.NET................................................................................... 967 ......................................................................... 968

............................................................... 966

.................................................................................. 968 29. .......................................................971 ......................................................................................... 971 ....................................................................... 971 ................................................................................. 971 .................................................................................. 972 ................................... 973 ? ........................................... 973 ............... 974

.............................................................. 978 ......................................................... 979

ASP.NET ....................... 974 Windows Forms .... 977 .. 977

........................................1024 ........................................................................... ?........................................ SQL Server........................................ ASP.NET ............................... Windows Forms ................................................ ASP.NET ...........................................

....................................................................................... 979 ASP.NET ........................................................ 984 ASP.NET ................................................. 986 Windows Forms GUI ................................... 993 Windows Forms .............................................. 994 ASP.NET ......................................... 1004 ASP.NET ....................................... 1007 1025 1025 1025 1027 1029 1029

................................................................1029 ........................................................1031

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

() . . : ( C# Java) Core .NET Developer Core Java Developer . ! .

Microsoft. MCSD, MCSD.NET, MCPD MVP .NET INETA. .NET .

! .

http://academy.devbg.org

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

, . - . .NET Framework C#, , .NET Framework 1.1, - . .NET, , .NET , - .

? , . , .NET . .NET Framework, Windows Forms, ASP.NET . . , , .NET . .NET , , . .NET , , .

, . , ! 2 , ( ) .

34

.NET Framework ( 2)

, . ( http://www. devbg.org/dotnetbook/), . !

? .NET Framework ( , , , , , .), ADO.NET ( ), Windows Forms ( ), ASP.NET ( ) . .NET ( C# ADO.NET), - Windows Forms, ASP.NET, , , , . 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. ( 2004-2005 .) 2.0 .NET . .NET 2.0 .NET 3.0.

? , , . , , , .

.NET Framework ( 2)

35

. , , . . , . , , . , ? , , ( , ). - , .

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

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, , , , . -

36

.NET Framework ( 2)

. , . View State Session State. , . 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

.NET Framework ( 2)

37

. e-mail .NET Framework. . . , , .

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

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

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

38

.NET Framework ( 2)

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

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). , -. . .

.NET Framework ( 2)

39

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

26. .NET Framework 26 .NET Framework . , , , . .NET Framework Code Access Security, 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.

40

.NET Framework ( 2)

. . .

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

30 , , . ( ).

Johnson Controls (www.jci.com), . , . . Java .NET . e-mail: [email protected].

.NET Framework ( 2)

41

ecommerce . PC Magazine (www.sagabg.net/PCMagazine/) (www.devbg.org). , . .NET , .

ASP.NET Elements of Art (www.eoa.bg). , - .NET Linux. . , () ". ". , . : http://debian.fmi.uni-sofia.bg/~toncho/portfolio/. e-mail: [email protected].

Gugga (www.gugga.net) ". ", . , , RIA (Rich Internet Applications) . , , .

, , , . - Microsoft . . - Microsoft Microsoft -

42

.NET Framework ( 2)

. PC Magazine . , , . , , .NET . Microsoft. e-mail: [email protected].

(www.icb.bg). ". ", . , Microsoft. .NET Framework, Visual Studio .NET Microsoft SQL Server. , . 2005 . e-mail: [email protected].

Vizibility (www.vizibility.net). , Microsoft, , . Microsoft .NET , SQL Server, IIS, BizTalk . ". ".

Formula Telecom Solutions (www.fts-soft.com). , , . .NET , extreme programming . ". ", . , Microsoft Borland.

(www.medsoft.biz). ". ",

.NET Framework ( 2)

43

. , Microsoft. Visual Studio .NET, Microsoft SQL Server . , , .

Technology Services Consulting Group (www.wordassist. com). , , MS Office . , MCSD Visual Studio 6.0 Visual Studio .NET. Visual Studio .NET, MS SQL Server, MS IIS MS Exchange. www.galcho.com, e-mail [email protected].

Symex (www.symex.bg), Java Java PHP. . ". ". Java .NET , a, , . 2004 2005 . " " " " . e-mail: [email protected].

EON Technologies (www.eontechnologies.bg). ". ", . , . Microsoft. , . , 2004 , .NET http://immitev.blogspot.com. e-mail: [email protected].

44

.NET Framework ( 2)

Gugga (www.gugga.com). - , , , , Microsoft .NET Framework. ". ", . Microsoft . 2004 . -.

". ", " .NET Framework", " ", " ", "- " " ". .N . . , Microsoft Research .NET Framework. : www.ivaylo-hristov.net.

". " " ". grid . .NET , grid .

telerik (www.telerik. com). , - Sitefinity (www.sitefinity.com). ". ", . - .NET ( ASP.NET , XML ). email: [email protected].

.NET Framework ( 2)

45

Microsoft Certified Trainer (MCT) MCSD.NET. 2006 . Most Valuable Professional (MVP). .NET , , - Visual Studio Team System, Indigo, WSE, ASP.NET, Analysis Services 2005, VSTO, Atlas . (), SofiaDev .NET , .NET - INETA . (IASA) . () http://www.codeattest.com/blogs/martin.

MPS (www.mps.bg), Siemens A.G. Java .NET Framework . " .NE Framework" " ". - 2 - Microsoft . . , , .

/ (www.midax.com). ". ". .NET Framework C# Microsoft .NET . . 2004 " " .

(www.iseca.org) - . ,

46

.NET Framework ( 2)

. . " ", "- C++" "Visual C++" " ", " ", " Java", " ", " .NET" " Java". , Java .NET . ". ". , . 2004 . . . : www.nedyalkov.com.

SAP A.G., Java Server Technology (www.sap.com), SAP Labs . ". ", . ( ) . " = ++;" (www. algoplus.org) "Java Programming with SAP Web Application Server", - . 2001-2003 " " " " . e-mail: [email protected].

(www.berkeley.edu), . (www.comsoft.bg) (www.rila.bg). a. ". ". , . , , (ACM International Collegiate Programming Contest).

.NET Framework ( 2)

47

, - " " " ". " " " = ++;" (www.algoplus.org). . " " , .

(www. medsoft.biz) ". ". Microsoft.

(www.sirma.bg), . , Microsoft. , . .NET Framework Microsoft SQL Server Oracle. , . , . e-mail: [email protected].

"" (http://academy.devbg.org), Java .NET . ". ", " ", " Java", " ", " .NET Framework", " " " Java". . Java , .NET . ". ". 4 .

48

.NET Framework ( 2)

, , " Java", "Java " . 2003 . " " . 2004 . " " . (www.devbg.org) .

Vizibility (www.vizibility.net). .NET , , , . . , ASP.NET, XML , .NET Framework. ". ".

(www.vereo.bg). .NET . Microsoft, Java Oracle. ". ", . , . e-mail: [email protected].

(www.icb.bg), . ERP , . , .NET, ORM , J2ME, Borland Delphi. " ", . 2005 . "

.NET Framework ( 2)

49

", " ". .NET e-mail: [email protected].

, , . e-mail: [email protected] : http://spaces.msn.com/members/stoyan/.

Gugga (www.gugga.com) ". ", . - , , , RIA (Rich Internet Applications). , , . -. (MIT). Microsoft .

ASP.NET telerik (www.telerik.com). , . . Agile , Extreme Programming (XP). , .

Calisto ID (www.calistoid.com). "Manufacturing Engineering" ". ". Microsoft - MCSD.NET. Microsoft, Borland, Sun Oracle.

50

.NET Framework ( 2)

, . - - . .

Dreamix Ltd. (www.dreamix.eu). . . . FreeBSD, . FreeBSD (freebsd-bg.org). ". ", . : www.flowerlin.net.

ComMetric (www. commetric.com). ". ", . , , Microsoft. .NET , Java . .NET Framework, Visual Studio .NET, Microsoft SQL Server Microsoft Internet Information Server.

, . .

, , 30 . .NET Framework - -

.NET Framework ( 2)

51

, , .

. - , . , . , , . , , , .

(), . , . , .

Microsoft Research , " .NET Framework", Microsoft Research. , .

SciForge.org SciForge.org , , , , (mailing list) . (www.kalinnakov.com), .

52

.NET Framework ( 2)

". " () ". " , " .NET" Microsoft Research. - .NET Framework 1.1 2.0 .

telerik telerik (www.telerik.com) . .

" .NET Framework" : http://www.devbg.org/dotnetbook/. , , , 29, . , : http://www.devbg.org/forum/index.php?showforum=30.