You are on page 1of 15

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 Microsoft’s computing
platform for the new millenia.
• It provides:
– OS-Neutral Environment
– Device Independence
– Wide Language Support
– Internet based Component Services
OS-Neutral Environment
• Underlying .NET runtime libraries make it possible to build
both desktop and Web based applications without calling the
OS code.
– Eliminates need to have detailed understanding about the Windows
OS
• By porting the runtimes to other non-Microsoft computing
platforms .NET applications are easily used in other
computing platforms
– Mono – Open Source sponsored by Novell
• Several companies sell support contracts
• Linux, OprnBSD, FreeBSD, NetBSD, MAC OS X, Solaris, Windows
Device Independence
• .NETs output has been targeted for use on a variety of
devices including Web, Desktop and Mobile
– Web Forms
– Mobile Internet Tools (MIT) SDK
• Goal is to make a single source code library that will run
on any device
Wide Language Support
• The .NET platform ships with support for three Microsoft
Languages:
– C#
– Visual Basic
– Jscript
• Additionally a version of C++ called Managed C++ that
interfaces with the .NET runtimes for building agile
desktop applications
• Much of .NET is written in C# (similar to Java)
C#

• Object –oriented
• Type-safe
• Garbage collected
• Many similarities with Java
– Virtual machine environment
– almost a 1-to-1 mapping of Java’s class
hierarchy
Visual Basic

• Updated version of Visual Basic 6.0


– Full object-orientation
– Not upwards compatible with VB 6.0
• Porting from VB 6.0 to VB.NET is considered a
non-trivial task
Jscript

• New version of the ECMA Jscript scripting


language
– Used in Internet Explorer and ASP
– Fully compiled
– Not upwards compatible with previous versions
of Jscript
• requires minimal changes
Other Language Support

• Fujitsu – COBOL.NET
• ActiveState – PERL.NET
• Interactive Software Engineering – Eiffel
for .NET
Internet-Based Component Services

• .NET allows any internet location to


become a distributed component
– Web Services
– XML
• Simple Object Access Protocol (SOAP)
• Web Services Definition Language (WSDL)
Common Language Runtime (CLR)
• The .NET Virtual Machine
– Parsing and execution of all .NET application
instructions
– Manages deployment and security
– Class libraries
• System Classes
• Data and XML Classes
• Windows and Drawing Classes
• The Web Classes
CLR Internals
• CLR provides the following low level services:
– Code Management – locating and executing code, thread
management, stack and heap management
– Security Support – evidence based security model for code access
security, high-level user and group access security
– Garbage Collection and Error Handling – optomized garbage
collection for .NET, error management, stack tracing and
debugging
Base Class Library Support

Thread Manager COM Marshalling

Type Checking Exception Handling

Security Debugging

Native Compilers Code Manager CG Services

Class Loader
Code Management and
Execution

• Primary job is to convert CLR Intermediate


Language to platform executable code
– Similar idea to Java JIT Compilers

Source Code Language Compiler

JIT Intermediate Language

Native Code
Security Support

• Keeps track of security evidence items like


permissions, code location (remote or
local), user rights and privileges to enforce
evidence based security policies
Evidence Items Security Policies

Security Policy Engine

Resulting Permissions
Error handling and Garbage Collection

• Try/Catch based error handling


• Objects and memory variables are garbage
collected when no longer needed
– Highly deterministic algorithms
– Always close any open resources before
releasing objects

You might also like