Microsoft. NET Eine neue Generation der Softwareentwicklung Klaus Rohe

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 12 Introduction to ASP.NET.
Advertisements

1 Introduction to ASP.Net 4.0 Development David Ringsell MCSD MCT MCPD.
Unit 1: Overview of the Microsoft.NET Platform
1 Unit 1: Introduction To.Net. 2 Introduction to.Net Integrated Development Environment (IDE) Languages in the.NET Framework The Common Language Runtime.
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Introduction to .NET Framework
.NET Framework Overview
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Using.NET Platform Note: Most of the material of these slides have been adapted from Nakov’s excellent overview for.NET framework, MSDN and Wikipedia Muhammad.
The What, Why and How Answers of Microsoft Dynamics AX Amer Atiyah Microsoft Dynamics AX Solution Architect
Building International Applications with Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corporation.
CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
Windows Software Development Lecture 13 MIS288 Instructor – Larry Langellier.
Camel Crossings: Perl & the Microsoft.NET Framework Brad Merrill, Microsoft Jan Dubois, ActiveState Eric Promislow, ActiveState.
Henrico Dolfing Business Segment Partners. Océ Document Technologies GmbH2 June, NET Framework Version 3.0.
.NET Technology.
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
Intro to C# Language Richard Della Tezra IS 373. What Is C#? C# is type-safe object-oriented language Enables developers to build a variety of secure.
An Overview of.NET Gavin King.NET Developer Group Microsoft Ltd
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
HELIA – Bite ATK36F © Tuomo Ketomäki.NET Overview.NET Programming.
Rajeswari Indupuri Introduction to.NET Framework.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
1 Introduction to.NET Framework. 2.NETFramework Internet COM+ Orchestration Orchestration Windows.NET Enterprise ServersBuildingBlockServices Visual Studio.NET.
Introduction to .Net Framework
IBSS Inc (International Business Software Solutions Inc.) Microsoft.NET.
VS.NET Syllabus By Peter Huang.
Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.
Introduction to Visual Studio.NET Pradeep K. Shah
.NET Overview. 2 Objectives Introduce.NET –overview –languages –libraries –development and execution model Examine simple C# program.
Session 1 - Introduction and Data Access Layer
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
C# A 1 CSC 298 Introduction to C#. C# A 2 What to expect in this class  Background: knowledge of an object oriented language of the C++, Java, … family.
Introduction to Microsoft.Net Session 01 Mata kuliah: M0874 – Programming II Tahun: 2010.
Introduction to .NET Rui Ye.
Compiling and Executing Code in.Net Microsoft Intermediate Language and Common Language Runtime.
Introduction .NET Framework
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
AUC Technologies Projects Consulting, Development, Mentoring, and Training Company Application Foundation Presented By : Naveed Sattar Software Engineer.
.Net – The First Glance What Is.Net, Why Use.Net.
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
ITF11012.NET.NET an Introduction. “This is the best time ever to be a software developer” Steve Ballmer, BUILD Conference, Anaheim, September 13 th 2011.
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
1 Hammad Khan. Agenda.NET Framework Introduction to Visual C#
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Common Language Runtime Introduction  The common language runtime is one of the most essential component of the.Net Framework.  It acts.
Wel come To Seminar On C#.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Intro to ASP.NET CS-422 Dick Steflik. What is.NET As applications in the Enterprise become more and more netcentric and less and less standalone.NET is.
Integration with XML Web Services
Introducing the Microsoft® .NET Framework
.NET Omid Darroudi.
An Introduction to the Shared Source Common Language Infrastructure (SSCLI) Damien Watkins Copyright Watkins 2002.
.Net A brief introduction to
Introduction to .NET Framework Ch2 – Deitel’s Book
Application Foundation
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
Introduction to C# AKEEL AHMED.
Programming in C# CHAPTER 1
Module 10: Implementing Managed Code in the Database
Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net
Presentation transcript:

Microsoft .NET Eine neue Generation der Softwareentwicklung Klaus Rohe (klrohe@microsoft.com) .Net Strategy & Developer Group Microsoft GmbH

Agenda Microsoft .NET Das Windows .NET Framework XML Web-Services Common Language Runtime (CLR) Assemblies, Security, Deployment Windows .NET Framework Klassenbibliotheken ADO.NET Windows Forms ASP.NET .NET Enterprise Services .NET Remoting XML Web-Services Gegenüberstellung Microsoft .NET - J2EE Demo mit Visual Studio .NET

Connected Experiences Connected Development Microsoft .NET Software for connecting information, people, systems and devices Built on a foundation of XML Web services Connected Business Agility to connect more deeply with customers, integrate with partners and empower employees Connected Experiences Information anytime, anywhere, any device .NET ist eine Softwaretechnik, die Microsofts gesamtes Produktspektrum umfasst. Sie ermöglicht es unseren Kunden heterogene Informationssysteme und Endgeräte auf einfache Art und Weise zu integrieren, um so die Geschäftsprozesse und Anforderungen der Anwender optimal zu unterstützen. .NET baut auf industrielle Web-Service-Standards und nutzt die hohe Produktivität, Performance und wirtschaftlichen Vorteile der Windows Plattform voll aus. Connected Development Quickly build solutions that interoperate across languages, platforms and devices Connected Systems Integrate new and existing systems across the organization, and externally with partners.

Windows Betriebsystem Microsoft .NET Windows Betriebsystem .NET SDK .NET Framework Common Language Runtime Applikation Enterprise Server Windows 2000 Server SQL Server 2000 BizTalk Server 2002 More… Visual Studio.NET Visual C# Visual C++ Visual Basic .NET Tools

Common Language Runtime Windows Betriebssystem Windows .NET Framework C# C++ VB Perl … Common Language Runtime Common Type System Base Class Library Transaktionen (COM+) IIS MSMQ WMI Windows Betriebssystem ADO.NET (Daten und XML) ASP.NET Web Forms Web Services Windows Forms Enterprise Services Als erstes möchte ich mich mit dem zentralen Baustein von .NET beschäftigen, dem .NET Framework. Wir wollen uns das .NET Framework jetzt aus der Vogelperspektive anschauen. Das .Net Framework ist in Schichten aufgebaut. Die unterste Schicht des Frameworks ist die Common Language Runtime kurz CLR genannt. Sie ist die Laufzeitumgebung für .NET Applikationen. Darüber befindet sich die Base Class Library eine Sammelung von Klassen, welche man bei jedem Programmierprojekt benötigt. Als nächstes hat man dann die ADO.NET-Schicht, welche Klassen für die Programmierung von Datenbankapplikationen enthält. Darüber findet man eine zweigeteilte Schicht für die Entwicklung von Web basierten Applikationen, einschließlich Web-Services. Dieser Teil ist mit ASP.NET bezeichnet. Der zweite Teil der Schicht, Windows Forms, ist für die Entwicklung von Rich-Clients, also Windows-Appliaktionen. Das .NET Framework besitzt ein gemeinsames Typsystem, das Common Type System. Das Common Type System liegt allen .NET Programmiersprachen zugrunde. Die Programmiersprachen, welche von Microsoft mit Visual Studio.NET ausgeliefert werden sind C#, C++ und Visual Basic. Von anderen Herstellern kann man andere Programmiersprachen für .NET bekommen, wie z. B. Eiffel, COBOL usw.

Common Type System (CTS) Value Types Byte Char Single Double Enum Int16 UInt16 Int32 UInt32 Int64 UInt64 Decimal Structure Boolean Others Object Reference Types Class Interface Array String Delegate Werden auf dem Heap abgelegt Werden auf dem Stack abgelegt

Windows .NET Framework Common Language Runtime (CLR) Thread Support COM Marshaller Type Checker Security Engine Exception Manager Debug Engine JIT Compiler Code Manager Garbage Collection Base Class Library Support Die Common Language Runtime soll nun etwas detaillierter betrachtet werden. Sie ist die Laufzeitumgebung für .NET basierte Applikationen. Normal werden .NET Applikationen in eine Zwischensprache (Intermediate Language, IL) übersetzt. Die IL wird beim Start des Programms von einem Just-In-Time-Compiler übersetzt. Eine weitere Aufgabe der CLR ist die Speicherverwaltung zur Laufzeit der Applikation. Dies wird durch den Garbage Collector bewerkstelligt. Aus diesem Grund braucht sich der Programmierer beim Entwickeln seiner Applikation nicht um die Speicherverwaltung kümmern. Während der Laufzeit führt die CLR außerdem Security Checks und Typprüfungen durch.

ECMA CLI & C# Standards, Interoperabilität & Multiplattform Microsoft Expands Commitment to Open Standards and Interoperability. Teams With Corel to Develop Shared Source Implementation of ECMA Standards C# and CLI For FreeBSD and Windows. REDMOND, Wash. - June 27, 2001. Beta availability expected: H1 2002 Standards ECMA-334, C# (C sharp) Language Specification, and ECMA-335, Common Language Infrastructure, approved by the ECMA General Assembly of 13th December 2001. http://www.ecma.ch HP, Intel & Microsoft C# Extended Numerics Library Extended Array Library XML Library Network Reflection Runtime Infrastructure Base Class Library

Common Language Runtime Ausführungsmodell VB.NET Source code VC++.NET VC#.NET Operating System Services Common Language Runtime Native Code Managed code Unmanaged Component JIT Compiler Assembly IL Code Compiler

Common Language Runtime MSIL Beispiel // File: simple.cs using System; class Simple { public static void Main() for (int i = 1; i <= 5; i++) Console.WriteLine(i); } csc simple.cs ildasm simpl.exe

Common Language Runtime Assemblies .NET Anwendungen bestehen aus Assemblies Assembly = Komponente Ein Assembly ist ein Container für Module Sämtliche Sicherheits- und Versionsüberprüfungen durch die CLR erfolgen auf der Basis von Assemblies !!!

Managed Code Kompilieren Compiler (C#, VB.NET, etc.) Assembly (DLL or EXE) MSIL Code for Class X Metadata for Classes X, Y and Z for Class Y for Class Z Class X { … } Class Y { … } Class Z { … }

Assemblies Kategorien Private Assembly Assembly kann nur von genau einer Anwendung benutzt werden Shared Assembly Assembly kann global von allen Anwendungen benutzt werden Dynamic Assemblies Zur Laufzeit erzeugte Assemblies

Assemblies Private Assembly Identifikation anhand eines einfachen Namens, z.B. “MyAssembly” Keine Versionsüberprüfung durch die CLR, Versionierung durch den Entwickler Installation per File copy Standardmäßig befinden sich Assembly und Anwendung im gleichen Verzeichnis Verzeichnis kann per config-Datei definiert werden

Assemblies Shared Assembly Identifikation über einen Strong Name Versionsüberprüfung durch die Runtime Installation im Global Assembly Cache Systemweiter “Speicherbereich” für .NET Assemblies Windows .NET Framework Assemblies keine Registry-Einträge für die Assemblies

Assemblies Dynamic Assembly Werden mit dem API im System.Reflection.Emit Namespace zur Laufzeit erzeugt Dynamic Assemblies Können auf als File im Dateisystem gespeichert werden Können direkt ausgeführt werden Beispiel: Kompilieren von regular Expressions

.NET Sicherheitsmodell Role-Based Security Enforced by application on itself Code Access Security Enforced by the common language runtime on the assembly Windows User Security Enforced by the OS on all the code Role-Based Security Role based security erlaubt es dem Code Sicherheitsentscheidungen zu treffen, welche auf der Rolle des Users basieren, der den Code ausführt. Code Access Security Code access security trifft Sicherheitsentscheidungen für den Code auf der Basis seiner Herkunft.

Deployment von .NET Applikationen Windows Forms Applikation Assembly1 Assembly2 Assembly3 Windows Server Windows Forms Applikation, lädt Assemblies zur Laufzeit vom Server. Zentraler Punkt zur Administration der Applikation Beim ersten Start der Windows Forms Applikation werden die benötigten Assemblies vom Server geladen und lokal gecached. Beim erneuten Start der Applikation wird geprüft, ob sich die Assemblies auf dem Server geändert haben. Nur dann werden sie vom Server geladen. Betrieb, Pflege und Wartung genauso einfach, wie bei Web-Applikationen.

Windows .NET Framework Namensräume System Int16, String, … Web Data Windows EnterpriseServices XML … Forms UI Services XmlDocument, … ServicedComponent, … Connection, DataSet, … … … …

Klassenbibliotheken System System.Data System.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization SessionState Caching Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Printing System.WinForms ComponentModel

ADO.NET (1) Datenbankzugriff, XML Warum eine neue Schnittstelle für den Datenzugriff? Web Applikationen benötigen andere Architektur Lose Kopplung zwischen Applikation und Datenbank Komfortabele Unterstützung von XML entwickelt sich zum universellen Datenformat Problem mit bestehenden APIs ADO, OLE DB und ODBC: wurden für enge Kopplung und dauerhafte Verbindung zwischen Client und Datenbank konzipiert ADO.NET unterstützt explizit enge und lose Kopplung zwischen Client und Datenbank ADO.NET ist eine Sammelung von .NET Framework Klassen, um in .NET Applikationen verschiedene Datenquellen zu integrieren. Eine solche Datenquelle ist z.B. der Microsoft SQLServer. Warum hat man nun eine neue Schnittstelle für den Datenzugriff entwickelt? Für Applikationen in einer verteilten Umgebung, wie es das Internet darstellt, ist eine lose Kopplung zwischen Datenquelle und Datenkonsument sehr vorteilhaft. In den letzten Jahren hat sich außerdem XML zum universellen Datenformat entwickelt, daher ist es vorteilhaft, wenn man einfache Mechanismen zur Verfügung hat, die Daten aus den unterschiedlichen Datenquellen in verschiedene XML-Formate zu transformieren. Dies alles leistet ADO.NET. APIs wie ADO, OLE DB und ODBC sind für enge Kopplung und dauerhafte Verbindungen zwischen Datenquelle und Datenkonsument ausgelegt und sind daher für die oben genannten Umgebungen nicht so gut geeignet.

ADO.NET (2) DBMS Managed Code .NET Data Provider Connection Client DataSet Rows Connection Command DataReader DataAdapter Enge Kopplung Lose Kopplung

Windows Forms (1) Was ist Windows Forms? Eine Klassenbibliothek innerhalb des Windows .NET Frameworks zur Entwicklung von GUI-Applikationen Namespace: System.Windows.Forms Ersetzt die Microsoft Foundation Classes (MFC) GUI Entwurf mit Windows Forms ist in Visual Studio.NET eingebaut MFC kann aber weiterhin genutzt werden

Windows Forms (2) Ausschnitt aus der Klassenhierachie System.Object System.MarshallByRefObject System.ComponentModel.Component Control ButtonBase Button TextBoxBase TextBox ContainerControll Form

.NET Enterprise Services API zur Entwicklung und Nutzung von COM+ Komponenten mit Microsoft .NET: Distributed Transactions Security Object Pooling Just in time activation Queued Components Events

ASP.NET Saubere Trennung von Programmlogik und Layout (code-behind) Kompilierte Programme statt Scripting Erheblich verbesserte Ausführungsgeschwindigkeit Deployment während des laufenden Serverbetriebes Unterstützung verschiedenster, mobiler Endgeräte Gute Tool-Unterstützung (VS.NET) Modulare, einfach erweiterbare Struktur Servererweiterungen ohne ISAPI WebForms, WebControls, Statemanagement XML Web Services

Web Clients / Web Service Client Windows Operating System ASP.NET Architektur ASP.NET Web Controls XML Web-Service Web Clients / Web Service Client Windows Operating System IIS (Web-Server) HTTP / SOAP applications .NET Framework

Das .NET Compact Framework .NET Framework für “Smart Devices” Ziel: Software als Service für Geräte “Lightweight” Runtime-Architektur Kompatible Teilmenge der Desktop Plattform Verfügbar für: Windows CE Unterschiedliche Formfaktoren

.NET Remoting Remoting ist der Zugriff auf Objekte über Grenzen hinweg. Grenzen können unterschiedliche Maschinen, Prozesse oder Application Domains sein. Die CLR abstrahiert OS-Prozesse und arbeitet mit „virtuellen Prozessen“ den so genannten Application Domains (Appdomains).

Appdomains und Remoting Eine Appdomain existiert in genau einem Prozess Ein Prozess kann mehrere AppDomains beinhalten Aufrufe über AppDomain-Grenzen hinweg erfordern Remoting Marshal-By-Value Objects und Marshal-By-Reference Objects Prozess 1 Prozess 2 AppDomain 1 AppDomain 3 AppDomain 2 Objekt Marshaling

Remoting, vereinfachte Darstellung Client App Domain 1 Proxy for O Channel Object O App Domain 2

Remoting: Aktivierungsmöglichkeiten Appdomain 1 Appdomain 2 Object Single-call Singleton Client-activated Client

Web Services mit Windows .NET Framework Web Services mit ASP.NET Die Web Services werden vom IIS gehostet Dies ist die Bevorzugte Art mit Microsoft .NET Web Services zu implementieren Komplette Infrastruktur, welche IIS bietet, wird automatisch genutzt Web Services mit Remoting Serverprozess, welche die Web Services hostet, muss vom Programmierer implementiert werden.

Support von Web Service durch Visual Studio .NET Eigene Projektart für Web Services, die unter ASP.NET entwickelt werden Automatische Generierung von Code-Frames für Web-Services. Automatische Generierung von Proxies aus WSDL-Beschreibungen Integrierter UDDI-Browser Erzeugt automatisch Test-Clients für Web Services

SOAP (Logical Messaging) Global XML Web Services Architecture (GXA) “Secure, Reliable, Transacted services” SOAP (Logical Messaging) Transports Messaging WSDL, UDDI, Inspection Quality of Service Transactions Business Processes BPEL4WS Transport XML, Encoding Other protocols Other services Coordination Security WS-Security Reliable Messaging Description

Unterstützung von GXA durch das Windows .NET Framework Microsoft stellt Web Services Enhancements for Microsoft .NET (WSE) zur Verfügung WSE unterstützt folgende Spezifikationen: DIME (Direct Internet Message Encapsulation) WS-Attachments WS-Routing WS-Security Authentifizierung und Integrität Download: http://msdn.microsoft.com/webservices/building/wse/default.aspx

Enterprise UDDI Services Optionaler Service, der mit Windows Server 2003 ausgeliefert wird Einfach zu installieren und zu verwalten Entspricht der UDDI Spezifikation V1 & V2 API Sehr gut skalierbar, gleiche Code-Basis wie http://uddi.microsoft.com Entwickelt mit dem Windows .NET Framework 1.1, IIS 6.0 und SQL Server 2000

Leader in the Industry Web Services Effort Completeness of Vision Microsoft IBM Hewlett-Packard Sun Microsystems Oracle 'Major Vendor Web Services Platform Influence Magic Quadrant' Challengers Leaders Niche Players Visionaries BEA Systems As of October 2002 Ability to Execute *Source: Gartner Research, October, 2002

Windows als Applikationsserver Zusätzliche Lizenzkosten Teil des Betriebssystems Applikationsserver Web-Server SOAP-Server Transaktionsmonitor (Transaktionsservice) Transaktionsorientiertes Message Queueing Directory Services Windows 2000 Server (Windows Server 2003) Microsoft IIS Microsoft COM+ (MTS) Microsoft Message Queue MSMQ Microsoft Active Directory

Gegenüberstellung Microsoft .NET – J2EE (1) Java Application Server .NET Framework IBM WebSphere, BEA WebLogic, others Runtime Environment Common Language Runtime (CLR) Java Virtual Machine (VM) Standard Libraries .NET Framework class library J2SE, J2EE GUIs Windows Forms Swing Transactions Enterprise Services EJB

Gegenüberstellung Microsoft .NET – J2EE (2) Java Web Scripting ASP.NET JSPs Data Access ADO.NET JDBC Development Tools Visual Studio.NET IBM Visual Age for Java, Borland JBuilder, others Web Services Support ASP.NET, .NET Services, others Some support from IBM and others, more planned Small Device Platform .NET Compact Framework J2ME

Demo mit Visual Studio .NET Implementierung eines XML Web-Service mit ASP.NET Implementierung eines Windows Forms Clients, der einen mit Java implementierten XML Web-Service konsumiert Der XML Web-Service wurde mit GLUE 3.2.3 Standard Edition von The Mind Electric implementiert (JDK 1.4.0.03). public interface IHugeIntMath { // Elementare mathematische Operationen auf // ganzen Zahlen, die als Strings dargestellt // sind. public String add(String xstr, String ystr); … // Berechnet 'x^y' public String power(String xstr, String ystr); }

Danke für Ihre Aufmerksamkeit. Fragen ? © 2001 Microsoft Corporation. All rights reserved.

Weitere Informationen (1) http://www.gotdotnet.com http://www.asp.net http://dotnet.oreilly.com Design Patterns in C# http://www.dofactory.com/patterns/Patterns.aspx http://www.clipcode.net/components/snippets.htm Komponenten http://research.microsoft.com/users/cszypers/pub

Weitere Informationen (2) Michael Stal, C#- und .NET Tutorial, Teil 1 - 3 IX Magazin für Professionelle Informationstechnik Teil 1: Heft 12, Dezember 2001, Seiten 122 - 129 Teil 2: Heft 1, Januar 2002, Seiten 130 - 135 Teil 3: Heft 2, Februar 2002, Seiten 136 - 143 Holger Schwichtenberg, Nette Vielfalt, Sprachen und Entwicklungstools für das .NET Framework IX Magazin für Professionelle Informationstechnik, Heft 10, Oktober 2002, Seiten 38 - 50

Weitere Informationen (3) Ralf Westphal .NET kompakt Spektrum Akademischer Verlag, 2002 ISBN 3-8274-1185-8 David Chappell Understanding .NET A tutorial and Analysis  ISBN 0-201-74162-8

Weitere Informationen (4) Don Box, Chris Sells Essential .NET (Development Series): The Common Language Runtime, Vol. 1 Pearson Education, Januar 2003 ISBN 0-201-73411-7

Weitere Informationen (5) Component Software Beyond Object-Oriented Programming Second Edition ADDISION-WESLEY, November 2002 ISBN 0-201-74572-0 Chapter 15, Chapter 21.2, Appendix A .NET programming: a practical guide using C# Prentice Hall PTR, July 2002 ISBN 0-13-066945-8

© 2001 Microsoft Corporation. All rights reserved.