Embed
Email

dot_net

Document Sample
dot_net
Shared by: HC111111022414
Categories
Tags
Stats
views:
1
posted:
11/10/2011
language:
English
pages:
50
.Net Framework

Introduction

Hagay Lupesko

Microsoft consulting student

Microsoft-Israel

Agenda

• Introduction to .Net

• CLR - Common Language

Runtime.

• WinForms.

• ADO.NET

Agenda

• Introduction to .Net

• CLR - Common Language

Runtime.

• WinForms

• ADO.NET

Introduction to .Net

Why develop a new platform?

• Inter-Platform communication – almost

impossible.

• DLL-Hell – Deployment and versioning

conflicts.

• Security threats.

• Dynamic web programming –

complicated, slow, “ugly”.



Conclusion: No adequate platform for

network oriented computing.

Introduction to .Net

The .Net vision

Make information available

anytime, anywhere.

Introduction to .Net

.Net Main Features – realizing the vision.



• Managed Run Time Environment (CLR) – manages

code, memory, security, threading.

• Inter-Language development –all .Net languages are

compiled to MSIL – the .Net assembly.

• Strong support for network standards: Http, XML,

SOAP, WSDL, and more.

• Built in support for Web-Services.

• ASP.NET – Easy and efficient development of

dynamic web apps.

• WinForms – Easy GUI development.

• Surly I left something out…

Agenda

• Introduction to .Net

• CLR - Common Language

Runtime.

• WinForms

• ADO.NET

The CLR

Compilation









Source code Assembly



Compiler

Csc.exe / Vbc.exe

C++, C#, J#, / Cl.exe / Vjc.exe DLL or EXE

Visual Basic or

any .NET

language



csc /target:library CSClass.cs

The CLR

Assembly



CSClass.DLL



Metadata



IL

Managed

code



Resources

The CLR

Compilation









Compiling, ILDASM, IL

D:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Tool Developers Guide\docs\Partition III CIL.doc

The CLR

Components





Thread Support COM Marshaler



Type Checker Exception Manager



Security Engine Debug Engine



IL to Native Code Garbage

Compilers Manager Collector



Class Loader

The CLR

The execution model

Source VB C# C++

code

Unmanaged

Compiler Compiler Compiler

component



Managed Assembly Assembly Assembly

code IL code IL code IL code







Common language runtime



JIT compiler





Native code



Operating system services

The CLR

Compilation









Inter-Lang Inheritance

The CLR

Intermediate Language (IL)



• Object Oriented

– Single inheritance

– Multiple implementation of Interfaces

• Value Types Vs. Reference Types

• Operations performed on Virtual Stack

The CLR

Example

.method private static void Main(string[] args) cil managed

{

.entrypoint

.maxstack 3

.locals init (int32 V_0, int32 V_1, int32 V_2)

ldarg.0

ldc.i4.0

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

ldarg.0

ldc.i4.1

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

add

call void [mscorlib]System.Console::WriteLine(int32)

ret

} // end of method Greeter::Main

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.0

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

//… code omitted for clarity



args









Virtual Stack

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.0

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

//… code omitted for clarity



0

args









Virtual Stack

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.0

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

//… code omitted for clarity





“23”









Virtual Stack

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.0

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

//… code omitted for clarity



23









Virtual Stack

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.1

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

add

call void [mscorlib]System.Console::WriteLine(int32)

ret



args

23









Virtual Stack

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.1

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

add

call void [mscorlib]System.Console::WriteLine(int32)

ret



1

args

23







Virtual Stack

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.1

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

add

call void [mscorlib]System.Console::WriteLine(int32)

ret



“32”

23









Virtual Stack

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.1

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

add

call void [mscorlib]System.Console::WriteLine(int32)

ret



32

23









Virtual Stack

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.1

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

add

call void [mscorlib]System.Console::WriteLine(int32)

ret



55









Virtual Stack

The CLR

Example

//… code omitted for clarity

ldarg.0

ldc.i4.1

ldelem.ref

call int32 [mscorlib]System.Int32::Parse(string)

add

call void [mscorlib]System.Console::WriteLine(int32)

ret









Virtual Stack

The CLR

Opening MS source code

Why do that?

• In-depth Understanding of features and

classes.

• Improvement of algorithms.

• Debugging “VOODOO” problems.

• Find bugs.

• Pure fun…

The CLR

Opening MS source code

• Anakrino: Can be found at

www.saurik.com -including source!

• Other companies do the same (but

for money…)

• It’s not perfect.

• Maybe you can make it better???

The CLR

Opening MS source code









Revealing .Net Base Classes Source code

Agenda

• Introduction to .Net

• CLR - Common Language

Runtime.

• WinForms

• ADO.NET

WinForms



What do we gain?

• Simple Event driven programming model

• Rich GUI control classes – Over 30

• Fast & Easy GUI building

• Simple deployment – Just use xcopy…

• Programmers can focus on the Program’s

logic!

WinForms









Building first WinForm using

NotePad

WinForms

Event Driven Programming Model

EventHandler – a method that is bound to an

event (button click / mouse over …)

• Signature:

void button1_Click(object sender, System.EventArgs e)



• When the event is fired – the methods are

invoked.

• Multiple EventHandlers can be

dinamically assigned to an event.

WinForms









Adding event handling to our WinForm

WinForms

Developing with VisualStudio.NET









Building a diary using VisualStudio .Net

Agenda

• Introduction to .Net

• CLR - Common Language

Runtime.

• WinForms

• ADO.NET

ADO.NET

Basic View



Main classes:

•DataAdapter – a proxy to the SQL server

•DataSet – mini-db at your fingertips

•DataGrid – Allows GUI of the DataSet

ADO.NET

Basic View

DataAdapter





SelectCommand Database

InsertCommand

UpdateCommand

DeleteCommand





TableMappings

DataSet

ADO.NET

Basic View









Building ADO.NET application

.Net Framework









Building a rich client using VisualStudio .Net


Related docs
Other docs by HC111111022414
msccs
Views: 0  |  Downloads: 0
jonwebresume
Views: 0  |  Downloads: 0
ind day attendees
Views: 0  |  Downloads: 0
musiclist
Views: 6  |  Downloads: 0
30 res0304
Views: 0  |  Downloads: 0
89539 7025 WEB 20SITE 20ADD
Views: 0  |  Downloads: 0
5003
Views: 0  |  Downloads: 0
pacise07
Views: 1  |  Downloads: 0
MichaelGerman
Views: 1  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!