SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Introduction to Visual Studio.NET

       Integrated Information Systems

                           Mike Helstrom
                        Solution Architect
                       MikeH@iisweb.com
Agenda


What is .NET?
.NET Framework
Visual Studio.NET
C#
Visual Basic.NET
Q&A
What is Microsoft .NET?


.NET represents an advanced new
generation of software that will drive the
Next Generation Internet. Its purpose is
to make information available any time,
any place, and on any device.
Quick Definition
  .NET is an initiative to integrate all Microsoft
  products with the “Next Generation” web.

http://www.microsoft.com/net/
Next Generation Internet



         Web site                   Backend
Loosely-                              App
coupled,                            Service
services
                   Service                         Mega
connected by                                      Service
XML-based                    XML-
                                    Backend
                                       Service
messages Web      site       msgs
           and
contracts,                            App
                   Device
written in many                     Service
languages

         Web site                                 Mega
                                                 Service
What is Microsoft .NET? (Cont.)

Core components of .NET are:
  .NET Infrastructure and Tools
  .NET Services
      An integrated set of building block services for the new
      Internet, including Passport.NET (for user authentication),
      and services for file storage, user preference management,
      calendar management, and many others.
  .NET User Experience
      A broader, more adaptive user experience, where information is
      delivered in a variety of ways on a variety of different devices.
  .NET Device Software
      Enables a new breed of smart Internet devices that can leverage Web
      Services


http://www.microsoft.com/business/vision/netvision.asp
.NET Infrastructure and Tools


.NET Infrastructure and Tools
  .NET Enterprise Servers
    SQL 2000
    Exchange 2000
    ISA 2000
    Host Integration Server 2000
    Application Center 2000
    BizTalk Server 2000
    Commerce Server 2000

  Visual Studio.NET
  .NET Framework
  Windows.NET
    “Whistler” (Windows XP)
.NET Framework
.NET Framework


.NET Framework consists of 3 main
parts:
  Common Language Runtime
  Framework Classes/Libraries
  ASP.NET

http://msdn.microsoft.com/net
The .NET Framework


 VB    C++    C#   JScript    …

 Common Language Specification




                                       Visual Studio.NET
                                       Visual Studio.NET
ASP.NET: Web Services   Windows
                        Windows
   and Web Forms         Forms
                         Forms

      ADO.NET: Data and XML

        Base Class Library


   Common Language Runtime
Common Language Runtime (CLR)

A common runtime for all .NET languages
  Common type system
  Common metadata
  Intermediate Language (IL) to native code compilers
  Memory allocation and garbage collection
  Code execution and security
Over 15 languages supported today
  C#, VB, Jscript, Visual C++ from Microsoft
  Perl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel,
  Oberon, Oz, Pascal, APL, CAML, Scheme, etc.
Rational is working on Java compiler for CLR
Common Language Runtime (CLR)

Enables cross-language interoperability
  Common Language Specification describes interoperability
  requirements
Language/Hardware/OS Independent
  Compact framework for small devices
Industrial strength Garbage collector
  Designed for multi-processor servers
CLR: Execution Model

Source     VB             C#             C++
code                                              Unmanaged
         Compiler      Compiler        Compiler
                                                  Component

Managed Assembly       Assembly        Assembly
         IL Code        IL Code         IL Code
code


   Common Language Runtime

                    JIT Compiler


                         Native Code

                    Operating System Services
.NET Framework Libraries

Single consistent set of object oriented
class libraries to enable building
distributed web applications (Unified
Classes)

Built using classes arranged across
logical hierarchical namespaces
  For example: System.Data.SQL

Work with all CLR languages
  No more “VBRun” or “MFC” divide
.NET Framework Libraries


              Unified Classes
         Web Classes (ASP.NET)
 Controls, Caching, Security, Session, Configuration etc


Data (ADO.NET)                  Windows Forms
   ADO, SQL,Types etc           Design, Cmpnt Model etc


   XML Classes                  Drawing Classes
XSLT, Path, Serialization etc Drawing, Imaging, Text, etc

                System Classes
   Collections, Diagnostics, Globalization, IO, Security,
    Threading Serialization, Reflection, Messaging etc
ASP.NET

ASP.NET is a new programming framework
designed to make web apps easier to:
  Build, Deploy, Run

Radical advancement of today’s ASP
  Broader programming language support
     Visual Basic.NET, Jscript.NET, C#
  Easier page programming model
     Namespaces
  Richer XML features and integration
  XCopy/FTP deployment
  Better reliability and recovery
  Excellent Visual Studio designer support
ASP.NET

ASP.NET is compiled, not interpreted
   Better performance
   Early binding, strong typing, JIT compiling to native
   code
Configuration settings in XML-based files
Session state can now be shared across a web farm of
ASP.NET servers
   .NET State Server Process manages state
Application state is still single sever
ASP.NET detects and recovers from problems
   Access violations, memory leaks, deadlocks
ASP.NET supports pre-emptive cycling of apps
   Time and request based settings
Visual Studio.NET
Visual Studio.NET

Integrated Development Environment
   Visual Basic.NET
        Many language enhancements
        Inheritance,Overloading, Free Threading
   Visual C++
        Integration with .NET Framework with managed extensions
        (classes)
   C#
        New development language
        Based on C/C++ with Garbage Collection/Memory
        Management
   JUMP (Java User Migration Path) to .NET                  (1/25/01)


Visual J++ has been removed from the Visual Studio suite.



http://msdn.microsoft.com/vstudio
JUMP to .NET


Consists of 3 sets of tools and a service
offering
  Interoperability support
  Programming tools support
  Automated conversion from Java language
  source code to C#
  Migration services
VS.NET Features

Single IDE for all Languages
Server Explorer
  Event Viewer, Message Queues, Services
  SQL Databases, Data Connection, Etc.
Integrated IE Browser
HTML/XML Editors
Macros/Macro Explorer
Solution Explorer
Tabbed Documents
Dynamic Help
Common Forms Editor
  VB.NET, C++, and C#
Visual Studio.NET Demo
C#
Intro to C#


Design Goals of C#
  Component Orientated Language
  Robust and Durable Software
Features
  Classes
  Namespaces
  No header files
VB.NET vs. C#
  Ability to embed C++ code in C# code
  Elegance of C/C++ language
Design Goals C#

Component Oriented
  Properties, methods, events
Robust and Durable
  Garbage collection (No memory leaks and
  stray pointers)
  Exception Handling
  Type-safety (No uninitialized variables)
Based on C++
Interoperability
  Support for XML, SOAP
Visual Basic.NET
Visual Basic.NET

Leave it in VB6
  WebClasses, ActiveX Documents, DHTML Projects
Thinking in VB.NET
  Data Types, Type vs. Structure
  Property Functions, Zero Bound Arrays
  Default Parameters
New Features
  Forms Designer, Declaration Syntax
  Structured Exception Handling
  Overloading, Inheritance
  Free Threading
ADO.NET
VB.NET: Data Types


True is now = 1
Integer Data type has changed
  Short (Int16), Integer (Int32), Long (Int64)
  VB 6
 Dim intAge As Integer
 Dim intID As Long

  VB.NET
 Dim intAge As Short
 Dim intID As Integer
VB.NET: Type vs. Structure

Defining user defined types (UDT) has a
new syntax
VB 6
Type Customer
    CustomerNumber as Long
    CustomerName As String
    CustomerCompany As String
End Type



VB.NET
Structure Customer
    Public CustomerNumber as Integer
    Public CustomerName As String
    Public CustomerCompany As String
End Structure
VB.NET: Property Functions

VB 6
Public Property Get CustomerName() As String
         CustomerName = m_CustName
End Property
Public Property Let CustomerName(sCustName As String)
         m_CustName = sCustName
End Property


VB.NET
Public Property CustomerName() As String
    Get
        CustomerName = m_CustName
    End Get
    Set
        m_CustName = Value
    End Set
End Property
VB.NET: Zero Bound Arrays

Option Base 1|0 has been removed
All arrays are base 0
The following declaration has 5
elements, arrElements(0) thru
arrElements(4)
Dim arrElements(5) As String
VB.NET: Default Properties

    Default properties are no longer supported.
    Important! Early Binding is key in VB6
    VB 6
    txtAddress = rs(“Addr_1”)
    lblFName = “First Name”



    VB.NET
    txtAddress.Text = rs(“Addr_1”).value
    lblFName.Text = “First Name”


Note: Recordset (COM ADO) is not the preferred data storage object in VB.NET, this is just an example.
VB.NET Forms Designer


New Forms Designer
  VB.NET, C++, C#
Enhanced Menu Editor
Control Anchors
New Properties
Visual Inheritance
VB.NET Demo
VB.NET: New Declaration Syntax

Variables can now be declared and
initialized on declaration line.
VB 6
Dim intLoop As Integer
intLoop = 10



VB.NET
Dim intLoop As Integer = 10
VB.NET: Structured Exception
                                           Handling
VB.NET supports elegant error handling
VB 6
On Error Goto ErrTag
    ...
    ‘clean up
    Exit Function
ErrTag:
    ‘error handling
    ‘clean up
End Function


VB.NET
Try
    ...
Catch
    ‘error handling
Finally
    ‘clean up
End Try
VB.NET: Overloading

Functions can now be overloaded (accept
arguments of different types)
VB.NET
Overloads Function ConvertSQL(ByVal strString As String) As String

    ConvertSQL = "'" & strString & "'"
End Function

Overloads Function ConvertSQL(ByVal intNum As Integer) As String
    ConvertSQL = CStr(intNum)
End Function
VB.NET: Inheritance
Public Class Customer
    Private m_CustName As String

    Public Property CustomerName() As String
        Get
            CustomerName = m_CustName
        End Get
        Set
            m_CustName = Value
        End Set
    End Property
End Class

Public Class CustCompany
    Inherits Customer
    Private m_CustCompany As String
    Public Property CustomerCompany() As String
        Get
            CustomerCompany = m_CustCompany
        End Get
        Set
            m_CustCompany = Value
        End Set
    End Property
End Class
ADO.NET


ADO.NET is the preferred data access
method in the .NET Framework
Better support for disconnected data
access
Specialized namespaces
System.Data.SQL – Tuned for SQL Server
System.Data.ADO – OLEDB
Portable
  Native XML Support
ADO.NET

ADOConnection
  Similar to Connection object in ADO
ADOCommand
  Similar to Command object in ADO
ADODataSetCommand
  Somewhat like Recordsets for ADO.NET (DataSet)
  Designed for stateless operations
ADODataReader
  For streaming methods, similar to Stream
SQLConnection, SQLCommand, and
SQLDataSetCommand, SQLDataReader
VB.NET Demo
VB 6 Moving Forward


Avoid
  Web Classes, ActiveX Docs, DHTML Apps
Development Techniques
  Early Binding
  Don’t use Default Properties
  Use Constants (such as true)
  Avoid GoSub
  Use ByVal and ByRef explicitly (ByVal is now
  default)
  Use ADO
VB6 to VB.NET Conversion Techniques
  Relax, take breaks often
Resources

Microsoft
http://www.microsoft.com/net
http://msdn.microsoft.com/net
Programmer Resources
http://www.gotdotnet.com
http://www.devx.com
VB6 to VB.NET Whitepaper
http://msdn.microsoft.com/library/techart/vb6tovbdotnet.htm
Example Site
http://www.ibuyspy.com
TechNet Briefing


Microsoft TechNet Briefing, Portland, ME
3/27/01 9:00AM – 12:00PM

Co-located at the Maine Technology Job Fair
  http://www.mainetechnologyjobfair.com/

Attendees receive a FREE copy of SQL Server 2000 Evaluation
   Edition (120 day) and ISA Enterprise Edition Evaluation (120
   day). Topics include: Using Microsoft Project 2000 and Visio
   2000 to plan and track your Windows 2000 deployment, and
   How to make full use of Office and Windows 2000 Web
   integration.
Questions?




http://www.iisweb.com

Weitere ähnliche Inhalte

Was ist angesagt?

Visual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewVisual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewHarish Ranganathan
 
Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]vaishalisahare123
 
Life as an asp.net programmer
Life as an asp.net programmerLife as an asp.net programmer
Life as an asp.net programmerArun Prasad
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 
What's New in .Net 4.5
What's New in .Net 4.5What's New in .Net 4.5
What's New in .Net 4.5Malam Team
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version Historyvoltaincx
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)citizenmatt
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .netpinky singh
 
Win net presentacion [2005]
Win net presentacion [2005]Win net presentacion [2005]
Win net presentacion [2005]Raul Soto
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET FrameworkANURAG SINGH
 
Net framework
Net frameworkNet framework
Net frameworksumit1503
 
dot net technology
dot net technologydot net technology
dot net technologyImran Khan
 
Introduction To Dotnet
Introduction To DotnetIntroduction To Dotnet
Introduction To DotnetSAMIR BHOGAYTA
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Mohamed Saleh
 
Vb6 vs vb.net....(visual basic) presentation
Vb6 vs vb.net....(visual basic) presentationVb6 vs vb.net....(visual basic) presentation
Vb6 vs vb.net....(visual basic) presentationIftikhar Ahmad
 

Was ist angesagt? (20)

Visual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewVisual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 Overview
 
Working in Visual Studio.Net
Working in Visual Studio.NetWorking in Visual Studio.Net
Working in Visual Studio.Net
 
Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]
 
Life as an asp.net programmer
Life as an asp.net programmerLife as an asp.net programmer
Life as an asp.net programmer
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
Visual studio
Visual studioVisual studio
Visual studio
 
What's New in .Net 4.5
What's New in .Net 4.5What's New in .Net 4.5
What's New in .Net 4.5
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version History
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
Win net presentacion [2005]
Win net presentacion [2005]Win net presentacion [2005]
Win net presentacion [2005]
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET Framework
 
Net framework
Net frameworkNet framework
Net framework
 
dot net technology
dot net technologydot net technology
dot net technology
 
Introduction To Dotnet
Introduction To DotnetIntroduction To Dotnet
Introduction To Dotnet
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)
 
.Net language support
.Net language support.Net language support
.Net language support
 
Vb6 vs vb.net....(visual basic) presentation
Vb6 vs vb.net....(visual basic) presentationVb6 vs vb.net....(visual basic) presentation
Vb6 vs vb.net....(visual basic) presentation
 

Andere mochten auch

Evitemos+las+emociones+toxicas+(lv)
Evitemos+las+emociones+toxicas+(lv)Evitemos+las+emociones+toxicas+(lv)
Evitemos+las+emociones+toxicas+(lv)Carlos Posada
 
Taller de programación clase #10
Taller de programación   clase #10Taller de programación   clase #10
Taller de programación clase #10Carlos Posada
 
Publicidades impactantes
Publicidades impactantesPublicidades impactantes
Publicidades impactantesCarlos Posada
 
Taller de programación clase #2
Taller de programación   clase #2Taller de programación   clase #2
Taller de programación clase #2Carlos Posada
 
Taller de programación clase #4
Taller de programación   clase #4Taller de programación   clase #4
Taller de programación clase #4Carlos Posada
 
Orientacion a Objetos para Dummies
Orientacion a  Objetos para DummiesOrientacion a  Objetos para Dummies
Orientacion a Objetos para DummiesCarlos Posada
 
Presentación fines de la educacion
Presentación fines de la educacionPresentación fines de la educacion
Presentación fines de la educacionCarlos Posada
 
Taller de programación clase #8
Taller de programación   clase #8Taller de programación   clase #8
Taller de programación clase #8Carlos Posada
 

Andere mochten auch (9)

Evitemos+las+emociones+toxicas+(lv)
Evitemos+las+emociones+toxicas+(lv)Evitemos+las+emociones+toxicas+(lv)
Evitemos+las+emociones+toxicas+(lv)
 
Urgente
UrgenteUrgente
Urgente
 
Taller de programación clase #10
Taller de programación   clase #10Taller de programación   clase #10
Taller de programación clase #10
 
Publicidades impactantes
Publicidades impactantesPublicidades impactantes
Publicidades impactantes
 
Taller de programación clase #2
Taller de programación   clase #2Taller de programación   clase #2
Taller de programación clase #2
 
Taller de programación clase #4
Taller de programación   clase #4Taller de programación   clase #4
Taller de programación clase #4
 
Orientacion a Objetos para Dummies
Orientacion a  Objetos para DummiesOrientacion a  Objetos para Dummies
Orientacion a Objetos para Dummies
 
Presentación fines de la educacion
Presentación fines de la educacionPresentación fines de la educacion
Presentación fines de la educacion
 
Taller de programación clase #8
Taller de programación   clase #8Taller de programación   clase #8
Taller de programación clase #8
 

Ähnlich wie Visual studio.net (20)

Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
.Net overview
.Net overview.Net overview
.Net overview
 
Net development
Net developmentNet development
Net development
 
Net development
Net developmentNet development
Net development
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
Session2(Mod)
Session2(Mod)Session2(Mod)
Session2(Mod)
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
 
Webhouse
WebhouseWebhouse
Webhouse
 
.Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1).Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1)
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net Overview
.Net Overview.Net Overview
.Net Overview
 
Microsoft.net architecturte
Microsoft.net architecturteMicrosoft.net architecturte
Microsoft.net architecturte
 
.Net overview
.Net overview.Net overview
.Net overview
 
Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
J2 Ee Vs. .Net Workshop
J2 Ee Vs. .Net WorkshopJ2 Ee Vs. .Net Workshop
J2 Ee Vs. .Net Workshop
 
asp
aspasp
asp
 
Presentation1
Presentation1Presentation1
Presentation1
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworks
 
.Net overviewrajnish
.Net overviewrajnish.Net overviewrajnish
.Net overviewrajnish
 

Visual studio.net

  • 1. Introduction to Visual Studio.NET Integrated Information Systems Mike Helstrom Solution Architect MikeH@iisweb.com
  • 2. Agenda What is .NET? .NET Framework Visual Studio.NET C# Visual Basic.NET Q&A
  • 3. What is Microsoft .NET? .NET represents an advanced new generation of software that will drive the Next Generation Internet. Its purpose is to make information available any time, any place, and on any device. Quick Definition .NET is an initiative to integrate all Microsoft products with the “Next Generation” web. http://www.microsoft.com/net/
  • 4. Next Generation Internet Web site Backend Loosely- App coupled, Service services Service Mega connected by Service XML-based XML- Backend Service messages Web site msgs and contracts, App Device written in many Service languages Web site Mega Service
  • 5. What is Microsoft .NET? (Cont.) Core components of .NET are: .NET Infrastructure and Tools .NET Services An integrated set of building block services for the new Internet, including Passport.NET (for user authentication), and services for file storage, user preference management, calendar management, and many others. .NET User Experience A broader, more adaptive user experience, where information is delivered in a variety of ways on a variety of different devices. .NET Device Software Enables a new breed of smart Internet devices that can leverage Web Services http://www.microsoft.com/business/vision/netvision.asp
  • 6. .NET Infrastructure and Tools .NET Infrastructure and Tools .NET Enterprise Servers SQL 2000 Exchange 2000 ISA 2000 Host Integration Server 2000 Application Center 2000 BizTalk Server 2000 Commerce Server 2000 Visual Studio.NET .NET Framework Windows.NET “Whistler” (Windows XP)
  • 8. .NET Framework .NET Framework consists of 3 main parts: Common Language Runtime Framework Classes/Libraries ASP.NET http://msdn.microsoft.com/net
  • 9. The .NET Framework VB C++ C# JScript … Common Language Specification Visual Studio.NET Visual Studio.NET ASP.NET: Web Services Windows Windows and Web Forms Forms Forms ADO.NET: Data and XML Base Class Library Common Language Runtime
  • 10. Common Language Runtime (CLR) A common runtime for all .NET languages Common type system Common metadata Intermediate Language (IL) to native code compilers Memory allocation and garbage collection Code execution and security Over 15 languages supported today C#, VB, Jscript, Visual C++ from Microsoft Perl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz, Pascal, APL, CAML, Scheme, etc. Rational is working on Java compiler for CLR
  • 11. Common Language Runtime (CLR) Enables cross-language interoperability Common Language Specification describes interoperability requirements Language/Hardware/OS Independent Compact framework for small devices Industrial strength Garbage collector Designed for multi-processor servers
  • 12. CLR: Execution Model Source VB C# C++ code Unmanaged Compiler Compiler Compiler Component Managed Assembly Assembly Assembly IL Code IL Code IL Code code Common Language Runtime JIT Compiler Native Code Operating System Services
  • 13. .NET Framework Libraries Single consistent set of object oriented class libraries to enable building distributed web applications (Unified Classes) Built using classes arranged across logical hierarchical namespaces For example: System.Data.SQL Work with all CLR languages No more “VBRun” or “MFC” divide
  • 14. .NET Framework Libraries Unified Classes Web Classes (ASP.NET) Controls, Caching, Security, Session, Configuration etc Data (ADO.NET) Windows Forms ADO, SQL,Types etc Design, Cmpnt Model etc XML Classes Drawing Classes XSLT, Path, Serialization etc Drawing, Imaging, Text, etc System Classes Collections, Diagnostics, Globalization, IO, Security, Threading Serialization, Reflection, Messaging etc
  • 15. ASP.NET ASP.NET is a new programming framework designed to make web apps easier to: Build, Deploy, Run Radical advancement of today’s ASP Broader programming language support Visual Basic.NET, Jscript.NET, C# Easier page programming model Namespaces Richer XML features and integration XCopy/FTP deployment Better reliability and recovery Excellent Visual Studio designer support
  • 16. ASP.NET ASP.NET is compiled, not interpreted Better performance Early binding, strong typing, JIT compiling to native code Configuration settings in XML-based files Session state can now be shared across a web farm of ASP.NET servers .NET State Server Process manages state Application state is still single sever ASP.NET detects and recovers from problems Access violations, memory leaks, deadlocks ASP.NET supports pre-emptive cycling of apps Time and request based settings
  • 18. Visual Studio.NET Integrated Development Environment Visual Basic.NET Many language enhancements Inheritance,Overloading, Free Threading Visual C++ Integration with .NET Framework with managed extensions (classes) C# New development language Based on C/C++ with Garbage Collection/Memory Management JUMP (Java User Migration Path) to .NET (1/25/01) Visual J++ has been removed from the Visual Studio suite. http://msdn.microsoft.com/vstudio
  • 19. JUMP to .NET Consists of 3 sets of tools and a service offering Interoperability support Programming tools support Automated conversion from Java language source code to C# Migration services
  • 20. VS.NET Features Single IDE for all Languages Server Explorer Event Viewer, Message Queues, Services SQL Databases, Data Connection, Etc. Integrated IE Browser HTML/XML Editors Macros/Macro Explorer Solution Explorer Tabbed Documents Dynamic Help Common Forms Editor VB.NET, C++, and C#
  • 22. C#
  • 23. Intro to C# Design Goals of C# Component Orientated Language Robust and Durable Software Features Classes Namespaces No header files VB.NET vs. C# Ability to embed C++ code in C# code Elegance of C/C++ language
  • 24. Design Goals C# Component Oriented Properties, methods, events Robust and Durable Garbage collection (No memory leaks and stray pointers) Exception Handling Type-safety (No uninitialized variables) Based on C++ Interoperability Support for XML, SOAP
  • 26. Visual Basic.NET Leave it in VB6 WebClasses, ActiveX Documents, DHTML Projects Thinking in VB.NET Data Types, Type vs. Structure Property Functions, Zero Bound Arrays Default Parameters New Features Forms Designer, Declaration Syntax Structured Exception Handling Overloading, Inheritance Free Threading ADO.NET
  • 27. VB.NET: Data Types True is now = 1 Integer Data type has changed Short (Int16), Integer (Int32), Long (Int64) VB 6 Dim intAge As Integer Dim intID As Long VB.NET Dim intAge As Short Dim intID As Integer
  • 28. VB.NET: Type vs. Structure Defining user defined types (UDT) has a new syntax VB 6 Type Customer CustomerNumber as Long CustomerName As String CustomerCompany As String End Type VB.NET Structure Customer Public CustomerNumber as Integer Public CustomerName As String Public CustomerCompany As String End Structure
  • 29. VB.NET: Property Functions VB 6 Public Property Get CustomerName() As String CustomerName = m_CustName End Property Public Property Let CustomerName(sCustName As String) m_CustName = sCustName End Property VB.NET Public Property CustomerName() As String Get CustomerName = m_CustName End Get Set m_CustName = Value End Set End Property
  • 30. VB.NET: Zero Bound Arrays Option Base 1|0 has been removed All arrays are base 0 The following declaration has 5 elements, arrElements(0) thru arrElements(4) Dim arrElements(5) As String
  • 31. VB.NET: Default Properties Default properties are no longer supported. Important! Early Binding is key in VB6 VB 6 txtAddress = rs(“Addr_1”) lblFName = “First Name” VB.NET txtAddress.Text = rs(“Addr_1”).value lblFName.Text = “First Name” Note: Recordset (COM ADO) is not the preferred data storage object in VB.NET, this is just an example.
  • 32. VB.NET Forms Designer New Forms Designer VB.NET, C++, C# Enhanced Menu Editor Control Anchors New Properties Visual Inheritance
  • 34. VB.NET: New Declaration Syntax Variables can now be declared and initialized on declaration line. VB 6 Dim intLoop As Integer intLoop = 10 VB.NET Dim intLoop As Integer = 10
  • 35. VB.NET: Structured Exception Handling VB.NET supports elegant error handling VB 6 On Error Goto ErrTag ... ‘clean up Exit Function ErrTag: ‘error handling ‘clean up End Function VB.NET Try ... Catch ‘error handling Finally ‘clean up End Try
  • 36. VB.NET: Overloading Functions can now be overloaded (accept arguments of different types) VB.NET Overloads Function ConvertSQL(ByVal strString As String) As String ConvertSQL = "'" & strString & "'" End Function Overloads Function ConvertSQL(ByVal intNum As Integer) As String ConvertSQL = CStr(intNum) End Function
  • 37. VB.NET: Inheritance Public Class Customer Private m_CustName As String Public Property CustomerName() As String Get CustomerName = m_CustName End Get Set m_CustName = Value End Set End Property End Class Public Class CustCompany Inherits Customer Private m_CustCompany As String Public Property CustomerCompany() As String Get CustomerCompany = m_CustCompany End Get Set m_CustCompany = Value End Set End Property End Class
  • 38. ADO.NET ADO.NET is the preferred data access method in the .NET Framework Better support for disconnected data access Specialized namespaces System.Data.SQL – Tuned for SQL Server System.Data.ADO – OLEDB Portable Native XML Support
  • 39. ADO.NET ADOConnection Similar to Connection object in ADO ADOCommand Similar to Command object in ADO ADODataSetCommand Somewhat like Recordsets for ADO.NET (DataSet) Designed for stateless operations ADODataReader For streaming methods, similar to Stream SQLConnection, SQLCommand, and SQLDataSetCommand, SQLDataReader
  • 41. VB 6 Moving Forward Avoid Web Classes, ActiveX Docs, DHTML Apps Development Techniques Early Binding Don’t use Default Properties Use Constants (such as true) Avoid GoSub Use ByVal and ByRef explicitly (ByVal is now default) Use ADO VB6 to VB.NET Conversion Techniques Relax, take breaks often
  • 42. Resources Microsoft http://www.microsoft.com/net http://msdn.microsoft.com/net Programmer Resources http://www.gotdotnet.com http://www.devx.com VB6 to VB.NET Whitepaper http://msdn.microsoft.com/library/techart/vb6tovbdotnet.htm Example Site http://www.ibuyspy.com
  • 43. TechNet Briefing Microsoft TechNet Briefing, Portland, ME 3/27/01 9:00AM – 12:00PM Co-located at the Maine Technology Job Fair http://www.mainetechnologyjobfair.com/ Attendees receive a FREE copy of SQL Server 2000 Evaluation Edition (120 day) and ISA Enterprise Edition Evaluation (120 day). Topics include: Using Microsoft Project 2000 and Visio 2000 to plan and track your Windows 2000 deployment, and How to make full use of Office and Windows 2000 Web integration.

Hinweis der Redaktion

  1. This chart summarizes the status of Microsoft SNA Server 4.0. By the way, SNA Server 4.0 is available now as a standalone product and as part of the newest version of Microsoft BackOffice Server - version 4.0.
  2. The .NET framework exposes numerous classes to the developer. These classes allow the development of rich client applications and Web based applications alike. In the above slide these classes have been divided into 4 areas. ASP.NET provides the core Web infrastructure such as Web Forms for UI based development and Web Services for programmatic interface development, User interface development on the Windows platform can be done using Windows Forms ADO.NET and XML provide the functionality for data access. Finally, the core base classes provide infrastructure services such as security, transaction management etc.
  3. We already know that an assembly does NOT contain native binary code, but instead MSIL code. Obviously before the MSIL code can be executed it must be converted into native binary instructions. Converted? Does this mean interpreted? NO! The MSIL code is compiled and not thrown away. This means that next time the code is requested it is already in the form of machine instructions and thus this mechanism in the log run is far more efficient than an interpreter for example. The compilation is carried out by a JIT (Just In Time) compiler. Does the compiler compile all of the code in one go? The answer to this question is NO. If this approach was taken there would be a long delay during the applications initialisation, and realistically not all the code within the module will be required in one go. Instead, when the code is loaded a ‘stub’ is connected to each method. When a method is called via the stub the compiler generates the binary native code. This mechanism goes a long way to describing why the compiler is called a ‘JIT’ compiler. Compiled code is only saved in the same process (run) of an application. And even then it's not guaranteed. we do what's called "code-pitching" which means we through away cold (or little used) JITed code if memory pressure requires it. We do persisted JITed code in the install time scenario. The benefit for to this system is obviously portability. A couple of things to think about - Let’s imagine you’ve built a managed component for the Intel Pentium III platform. It works fine. Later in the year Intel release a super new chip. When Microsoft release a new version of the JIT, it’s possible that this brand spanking new version of the JIT will have learned a few new tricks e.g. to make use of the new improved instruction set of the new Intel chip or new CPU registers! And finally, Microsoft plan to offer a tool called PREJIT. This tool will compile your assemblies into native code and save the resultant binary executable code to disk. When the assemblies are next loaded the binary code is already available thus improving startup time and execution speeds.
  4. <none>