Sunteți pe pagina 1din 28

.

NET Framework
Overview
.NET and the .NET Framework
Objectives
 Learn basic principles and concepts of.NET and the
.NET framework

Contents
 Looking Back
 .NET and .NET Framework Overview
 Summary
 Questions
Section 1: Looking Back
 Challenges for the development organization
 Challenges for the corporate customer
 Missing ????
Challenges for Development
Organization
 Development
 Language and operating system choices
 Delivery
 CD-ROM: production, packaging, transport
 Stability
 DLL compatibility issues
 Operating system—pollution leads to instability
 Compatibility tests with “popular” solutions
 Maintenance
 Customer involvement, even for critical updates
 Packaging, production, and delivery of medium
Challenges for the
Corporate Customer
 Deployment
 Installation often requires time and personnel
 Testing for compatibility with existing applications and OS
 License management
 Stability and security
 Requires (even more!) testing
 Can lead to inadvertent breaches of security
 Can destabilize the system or other solutions [ Registry]
 Maintenance
 All the problems of deployment and security revisited!
Missing ????
 We need all system features to be available to
programmers in any language.
 We’d like our code to be able to run on a variety of
platforms.
 Weneed help with managing different versions of the
same software package.
 We’d like object-oriented programming features to be
available in and between all programming languages.
 Forsafety, we want to be able to restrict the operations
of pieces of code we don’t fully trust.
The .NET Framework Design
Goals
What were missing are goals !!!
 "Cross-Language Development”
 Inheritance, Debugging, Exception handling
 Reliability and Security
 Simple Development and Deployment
 Device-agnostic
Section 2: .NET Framework
Overview
 What Is .NET?
 Migration Paths—from Anywhere to .NET
 Key Benefits of .NET
Concept of Platform
independence &
Language
Independence
Java Code Byte Code Native Code
Java Compiler JRE

C# Code MS-IL Code Native Code

IL Compiler CLR

VB.NET Code
IL Compiler
Managed code
 Code running under control of the CLR is called Managed code
 Platform Independence :
 Mono - Linux
 Mono - Mac
 .NET framework - windows

 Performance Improvement [JIT]


 Language interpretability [ IL1 + SC2 = IL2 ]
Strong Data typing
 IL – No ambiguous data type
 VB variant (NO)
 VB.NET Integer - C# no Integer
 CTS – COMMON TYPE SPECIFICATION
 Predefined data types that are in IL
 .NET languages targets code depends on these types
 VB.NET Integer & C# int – IL’s Int32
 CTS defines rich hierarchy of types.
What is . NET?
 .Net = Library + Environment
 Library : like extension of API
 Environment : Layer between OS and Application.
.NET Framework Architecture
C# VB C++ Scheme …

Common Language Specification

Visual Studio.NET
ASPServices
XML .NET Windows Forms
User Interfaces
ADO .NET and XML
Data Connectivity

Base Class Library


Base Framework
Common Language Runtime

Operating System
Common Language Runtime
Base Class Library Support

Thread Support COM Marshaler

Type Checker Exception Manager

Security Engine Debug Engine

MSIL to Native Code Garbage


Compilers (JIT) Manager Collector (GC)

Class Loader
JIT – Just In Time
 IL is always JIT compiled where java byte code was interpreted
 IL never compiled to native code in one go, JIT compiler simply
each portion of code as it is called (Just In Time)
 Then resultant native code is stored until the application exits. So
no need to recompile
 Since final stage JIT Compiler know exactly what processor type
the program will run on. Take advantage of particular machine
code instruction.
Garbage Collector
Before GC
 Makethe application code do it
manually [ C++ ]
 Resources
never occupied for longer than
unnecessary.
 Code that request memory should explicitly
inform the system when it no longer
requires that memory.
 Make objects maintain reference
counts [ COM ]
 COM component maintain a count of how
many clients are currently maintaining
reference to it.
GC – Clean up memory
 Dynamically
requested
memory allocated on heap.
 When heap gets full and
needs tidying up, it calls
garbage collector.
 GCexamining references to
objects stored on the heap to
identify which one are
accessible from your code.
 Objectsthat are not referred
to are deemed to be no
longer accessible from your
code and therefore be
removed.
Languages
 Ada  lcc
(MS Research Redmond)
 APL
 Basic (Visual Basic)
 Mondrian (Utrecht)
 C#  ML
(MS Research Cambridge)
 C
 Mercury
 C++ (Melbourne U.)
 J#  Oberon (Zurich University)
 COBOL  Oz (Univ of Saarlandes)
 Component Pascal
(Queensland Univ of Tech)  Perl
 ECMAScript (JScript)  Python
 Eiffel (Monash University)  Scheme (Northwestern U.)
 Haskell  SmallTalk
(Utrecht University)
Key Benefits of .NET
 Ease of Use
 Object-oriented model
 Everything is an object
 Namespace and Framework structure
 Easier to comprehend and use
 Naming scheme of namespaces reflects the underlying functionality
 Freedom to Choose:
 The language that meets your needs
 The development tool that is best for you
 The “features and functionality” to “plug in to”
Key Benefits of .NET
 Stability
 Say “goodbye” to memory leaks
 Garbage collection manages memory
 Assembly eliminates DLL compatibility issues
 Deliverables are restricted to an assembly
 Security
 Restricting or containing the illegal memory reference
 Comprehensive security model
 Assembly specific
 System wide
 Code inspection through MSIL
Key Benefits of .NET
 Deployment and Management
 Deployment: Code is “Assembled” and Run “Securely”
 Maintenance: Version Maintenance Simplified
 The Web the Way You Want It
 Anywhere
 Anytime
 On any device
The Framework
Sample of what’s in the framework

 Microsoft® .NET Base Class  COM Interoperability


Libraries  Registry
 File IO  Monitoring System Events
 Networking  Windows® Management
 Database Access Interface
 XML  Globalization
 Security  Configuration
 Cryptography
 Threading
 Diagnostics
 Enterprise Services  Reflection
 Graphics
The .NET Framework
Namespaces
System.Web System.WinForms
Services UI Design ComponentModel
Description HtmlControls
Discovery WebControls
Protocols System.Drawing
Caching Security Drawing2D Printing
Configuration SessionState Imaging Text

System.Data System.Xml
ADO SQL XSLT Serialization
Design SQLTypes XPath

System
Collections IO Security Runtime
Configuration Net ServiceProcess InteropServices
Diagnostics Reflection Text Remoting
Globalization Resources Threading Serialization
IL Compilers
 CSC & vbc
 out
 target:exe winexe library
 o
 warn: 0-4
 nowarn
 unsafe
 checked
 nologo
 main
 reference
 lib
Configuration and
Deployment Tools
Type Library Exporter (Tlbexp.exe)

 Type Library Importer (Tlbimp.exe)


 Web Services Description Language Tool (Wsdl.exe)
 Web Services Discovery Tool (Disco.exe)
 XML Schema Definition Tool (Xsd.exe)
 ASP.NET Install (aspnet_regiis.exe)
 Global Assembly Cache tool (gacutil.exe)
 .NET Framework Configuration Tool (mscorcfg.msc)
 Installer tool (installutil.exe)
Security Tools
 Code Access Security Policy Tool (Caspol.exe)
 File Signing Tool (Signcode.exe)
 Permissions View Tool (Permview.exe)
 PEVerify Tool (PEverify.exe)
 Secutil Tool (Secutil.exe)
 Strong Name Tool (Sn.exe)
General Tools
 Common Language Runtime Minidump Tool
(Mscordmp.exe)
 mscordmp /pid [pid number] /out [output file]
 MSIL Assembler (Ilasm.exe)
 MSIL Disassembler (Ildasm.exe)
 Resource File Generator Tool (Resgen.exe)
 Windows Forms Class Viewer (Wincv.exe)

S-ar putea să vă placă și