Visual Studio NET

background image

Platforma .NET

Platforma .NET

Maria DEMS

Maria DEMS

background image

2

Kolejność instalacji:
1.

Microsoft .NET Framework 1.1,

Microsoft .NET Framework 1.1,

plik

plik

dotnetfx.exe

dotnetfx.exe

Pakiet redystrybucyjny systemu Microsoft .NET
Framework w wersji 1.1

http://download.microsoft.com/download

/c/9/f/c9f672f3-c14b-4cff-9671-d419842d792d/
dotnetfx.exe

2.

Microsoft .NET Framework 1.1

Microsoft .NET Framework 1.1

— plik

langpack.exe

langpack.exe

Pakiet języka polskiego,

http://

download.microsoft.com/download
/4/9/c/49c17289-dfd6-4eca-87a1-a2fe5e580774/
langpack.exe

3.

Pakiet programowania Microsoft Asp.NET Web

Pakiet programowania Microsoft Asp.NET Web

Matrix Project

Matrix Project

, plik

WebMatrix.msi

WebMatrix.msi

http://www.asp.net/webmatrix/default.aspx

Instalacja pakietów

Instalacja pakietów

platformy .NET

platformy .NET

background image

3

Ogólna charakterystyka

Ogólna charakterystyka

platformy .NET

platformy .NET

Platforma .NET

Platforma .NET

jest to nowej generacji środowisko

przeznaczone

do

tworzenia

oraz

instalacji

oprogramowania internetowego oraz aplikacji
Windows. Platformę tworzą trzy podstawowe
elementy:

wspólne środowisko uruchomieniowe CLR,

umożliwiające

wykonywanie

aplikacji

napisanych w dowolnym języku programowania,

zbiór klas tego środowiska,
nowa wersja ASP.NET - dynamiczna technologia

internetowa działająca po stronie serwera.

Produkty .NET

Produkty .NET

obejmujące zintegrowane w ramach

tego środowiska główne produkty Microsoftu,
takie jak Windows, Visual Studio oraz pakiet
Office.

background image

4

Ogólna charakterystyka

Ogólna charakterystyka

platformy .NET

platformy .NET

Integracja produktów .NET oparta jest na:

XML- języku opisu danych,
SOAP - protokole transmisji danych między

produktami.

Usługi

.NET

Usługi

.NET

,

umożliwiające

współpracę

niezależnych zespołów programistów tworzących
aplikacje oparte na platformie .NET.

Jako kolejne produkty przewidywane są

usługi

składowe

, zapewniające: obsługę tożsamości,

powiadamianie oraz komunikację (zintegrowana
obsługa poczty elektronicznej, poczty głosowej i
faksu),

personalizację,

przechowywanie

w

formacie XML, opcje kalendarza, klasyfikację
katalogową i wyszukiwanie informacji oraz
dynamiczną dostawę produktów platformy.

background image

5

Ogólna charakterystyka

Ogólna charakterystyka

platformy .NET

platformy .NET

Programy

napisane

w

Visual

Studio

.NET

uruchamiane są w wirtualnej maszynie

.NET

.NET

Framework,

Framework,

a więc są niezależne od systemu

operacyjnego.

Platformę

.NET Framework

.NET Framework

dla Windows 2000,

Windows 98, Windows Me, można pobrać ze strony:

http://msdn.microsoft.com/netframework/download
s

Platforma

.NET Framework

.NET Framework

dla Windows 2003 jest

instalowana

automatycznie

podczas

instalacji

systemu.

background image

6

C#

VB

C++

Java

Scrip

t

J#

Itd.

Vi-

sua

l

Stu

-

dio.

NE

T

lub

inn

e

Wspólna specyfikacja języków (CLS)

Język pośredni (IL)

Serwisy

Web

Strony

ASP.NET

Formularze

Windows

Aplikacje

ASP.NET

ADO.NET i XML

Biblioteka podstawowa (BCL)

Środowisko uruchomieniowe (CLR)

System operacyjny Windows

Schema
t
platfor
my
.NET

background image

7

Ogólna charakterystyka

Ogólna charakterystyka

platformy .NET

platformy .NET

Rdzeń

platformy

stanowi

.NET

Framework

.NET

Framework

zawierający:

właściwą platformę językową i wykonawczą CLR

obszerne biblioteki klas bazowych, zapewniające
wysoki poziom wbudowanej funkcjonalności.

.NET Framework

.NET Framework

korzysta ze standardu XML oraz

protokołu SOAP.

.NET Enterprise

.NET Enterprise

Server to rodzina produktów

serwerowych, zastępujących serwery MS.

Standardowym

mechanizmem

komunikacji

komponentów platformy jest

COM+.

Platforma .NET oferuje rozbudowane narzędzia do
generowania aplikacji internetowych korzystających
z baz danych (np.. sklep internetowy), takie jak np.

Web Services, ASP.NET, ADO.NET.

Web Services, ASP.NET, ADO.NET.

background image

8

Główne komponenty

Główne komponenty

platformy .NET

platformy .NET

Architektura .NET składa się z trzech warstw:

Środowisko uruchomieniowe CLR

zarządzanie

pamięcią

wspólny system

typów

monitorowa

nie

Standardowy system usług nowej generacji

XML

ADO.NET

Klasy bazowe

platformy .NET

Interfejsy użytkownika i programowe

ASP.NET

WinForms, Web Forms, Web

Service

Taka Architektura zapewnia integrację technologii prezentacji,
komponentów oraz danych.

background image

9

Środowisko uruchomieniowe

Środowisko uruchomieniowe

CLR

CLR

Jest to środowisko uruchamiania aplikacji, skompilowa-
nych na wspólny język pośredni MSIL lub IL

Ładowanie klas i układ pamięci

Zarządzanie stosem i pamięcią, opóźnianie pamieci

Bezpieczeń

stwo

Kompilacj
a kodu IL

Obsługa wykonywania

(tradycyjne funkcje

środowiska

uruchomieniowego)

Wspólny system typów

Główne elementy środowiska CLR

background image

10

Główne cele środowiska CLR

Główne cele środowiska CLR

Łatwiejsze i szybsze tworzenie oprogramowania

Łatwiejsze i szybsze tworzenie oprogramowania.

Automatyczna obsługa procesów „udrażniania

Automatyczna obsługa procesów „udrażniania”,
takich jak zarządzanie pamięcią i komunikacja
procesów.

Proces

udrażniania

ułatwiło

wprowadzenie

metadanych

metadanych

generowanych przez

kompilator i automatycznie przechowywane w
plikach EXE lub DLL.

Do metadanych na platformie .NET zaliczamy:

złożenia

złożenia

, takie jak:

publiczny klucz uwierzytelnienia,
typy eksportowane przez złożenie,
inne złożenia, na których oparte jest złożenie,
zezwolenie bezpieczeństwa potrzebne do

uruchomienia.

background image

11

Główne cele środowiska CLR

Główne cele środowiska CLR

klasy bazowe

klasy bazowe

oraz

interfejsy

interfejsy

używane przez

złożenia,

atrybuty

atrybuty

definiowane przez użytkownika i

przez kompilator

Metadane są wykorzystywane

do obsługi

przez

CLR szerokiej grupy

narzędzi

, takich jak:

narzędzia projektowania,
narzędzia testowania,
narzędzia profilowania,
generatory proxy,
inne kompilatory - narzędzia najczęściej

używane,

przeglądarki obiektów i typów,
generatory schematów.

background image

12

Główne cele środowiska CLR

Główne cele środowiska CLR

Proste i bezpieczne wdrażanie aplikacji

Proste i bezpieczne wdrażanie aplikacji:

aplikacje tworzone w środowisku .NET

można

instalować przez skopiowanie plików na dysk

lub

z płyty CD i uruchomienie aplikacji, gdyż
kompilatory .NET wstawiają identyfikatory w
kompilowane moduły, a CLR automatycznie
zarządza tymi identyfikatorami.

istnieje możliwość

wykonywania jednocześnie

kilku wersji

tego samego komponentu, którymi

CRL zarządza i wybiera zdefiniowaną wersję.

Aplikacje tworzone w .NET

instalują jedynie

własna logikę bez środowiska uruchomieniowego

lub np. modułów obsługi ADO lub XML).

background image

13

Główne cele środowiska CLR

Główne cele środowiska CLR

Skalowalność

Skalowalność, która głównie dotyczy:

funkcji

wykonawczych

działających

na

poziomie systemu, wykorzystywanych do
tworzenia aplikacji w środowisku .NET,

zarządzania

pamięcią

i

przetwarzania

;

pamięć w środowisku CLR jest automatycznie
konfigurowana i optymalizowana,

języków

programowania;

wszystkie

języki

kompilowane są na standardowy kod bajtowy
języka pośredniego IL, więc praktycznie w
środowisku CLR nie różnią się wydajnością,

platformy sprzętowej

(od palmtopów do

rozbudowanych systemów sieciowych)

background image

14

Główne cele środowiska CLR

Główne cele środowiska CLR

Integracja i obsługa różnorodnych języków

Integracja i obsługa różnorodnych języków:

W środowisku .NET Framework

przy

pomocy

jednego języka można tworzyć podklasy klasy
zaimplemento-wanej w innym języku,

np.

klasy napisane w VB mogą dziedziczyć z klas
bazowych napisanych w C++ lub COBOL-u.

Integracje języków umożliwia

wspólny system

typów

, w którym wszystkie wspólnie używane

typy

danych,

nawet

bazowe,

implementowane jako obiekty, oraz

wspólna

biblioteka typów

.

Wykorzystanie

przestrzeni

nazw

do

organizowania bibliotek i hierarchii obiektów,
uproszczenia używania referencji do obiektów
i określania zakresu identyfikatorów obiektów.

background image

15

Wdrażanie i uruchamianie

Wdrażanie i uruchamianie

programów w środowisku

programów w środowisku

CLR

CLR

Aplikacja zbudowana jest z jednego lub kilku złożeń

,

a także może zawierać właściwe dla niej dane lub
pliki. Złożenie jest jednostką wdrażania aplikacji.
Może się ono składać z jednego lub kilku plików.

Moduły kodu źródłowego złożenia są

kompilowane

na IL - język pośredni środowiska CLR, a następnie
na kod wykonywalny, z wykorzystaniem mechanizmu
kompilacji na żądanie JIT (Just-In-Time
).

W środowisku .NET

kompilowane są również skrypty

ASP czy VBScript, które podczas pierwszego użycia
przetwarzane są na kod IL. Kompilacja skryptów jest
przeprowadzana automatycznie i na bieżąco.

background image

16

Biblioteka klas bazowych

Biblioteka klas bazowych

BCL

BCL

Wszystkie języki programowania platformy .NET

korzystają z tej samej biblioteki klas bazowych
BCL (Base Code Library
)

Biblioteka BCL jest biblioteką klas języka MSIL.
Klasy bazowe zostały podzielone między logiczne,

hierarchicznie uporządkowane przestrzenie nazw
(Namespaces
)

Podstawową przestrzenią nazw jest przestrzeń

System

System

, zawierające wszystkie definicje i klasy

bazowe

Warstwa środkowa platformy .NET obejmuje:
usługi, modele obiektów danych zawierające
obiekty ADO oraz ADO.NET , XML oraz klasy
bazowe platformy .NET.

background image

17

Przestrzeń nazw System

Przestrzeń nazw

System

- zawiera podstawowe

klasy oraz klasy bazowe, które definiują:

najczęściej używane typy danych,
zdarzenia i procedury obsługi zdarzeń,
interfejsy, atrybuty i wyjątki.

Inne

klasy

w przestrzeni

nazw

System

udostępniają usługi związane z:

konwersją typów danych,
manipulowaniem parametrami metod,
obliczeniami matematycznymi,
zdalnym

i lokalnym

wywoływanie

programów

zarządzaniem środowiskiem aplikacji,
nadzorowaniem kodu.

background image

18

Przestrzenie nazw

Kolejne w hierarchii są

przestrzenie

niskiego poziomu

, takie jak:

System Collection

System Collection

- zawiera klasy

zawierające

definicje

sposobu

porządkowania danych

System.Configuration

- zawiera klasy

i interfejsy

które

pozwalają

na

programowy

dostęp

do

ustawień

konfiguracyjnych

.NET

Framework

i obsługę

błędów

w plikach

konfiguracyjnych (pliki .config).

background image

19

Przestrzeń nazw System

System.Data

- zawiera głównie klasy składające

się na architekturę dostępu do danych ADO
.NET. Architektura ta umożliwia tworzenie
komponentów, które pozwalają na wydajne
zarządzanie danymi pochodzącymi z różnych
źródeł.

System.Data.Common

-

zawiera

klasy

współdzielone przez dostawców danych .NET
Framework.

System.Data.ODBC

- zawiera klasy składające

się na .NET Framework Data Provider for ODBC,
czyli dostawcę danych dla interfejsu ODBC

System.Data.OleDB

- zawiera klasy składające

się na .NET Framework Data Provider for OleDB

background image

20

Przestrzeń nazw System

System.Data.SqlClient

- zawiera klasy składające

się na .NET Framework Data Provider for SQL
Server, czyli dostawcę danych dla serwera MS
SQL Server.

System.Data.SqlTypes

-

udostępnia

klasy

reprezentujące rodzime typy danych serwera
Microsoft SQL Server.

System.Diagnostics

System.Diagnostics

– udostępnia klasy służące

do śledzenia wykonania kodu i usuwania błędów
(np..Debug)

System.DirectoryServices

– umożliwia wygodny

dostęp do Active Directory z poziomu kodu
zarządzanego

background image

21

Przestrzeń nazw System

System.Drawing

- umożliwia dostęp do

podstawowej

funkcjonalności

graficznej

biblioteki systemowej GDI+.

System.Drawing.Drawing2D

-

udostępnia

zaawansowaną

funkcjonalność

związaną

z grafiką 2D i grafiką wektorową.

System.Drawing.Text

-

udostępnia

zaawansowaną

funkcjonalność

związaną

z typografią

i wykorzystaniem

kolekcji

czcionek

System.IO

- zawiera typy umożliwiające

synchroniczny i asynchroniczny odczyt i zapis
strumieni danych i plików.

background image

22

Przestrzeń nazw System

System.Net

- udostępnia proste interfejsy

programistyczne

dla

wielu

protokołów

używanych we współczesnych sieciach.

System.Runtime.InteropServices

- Udostępnia

różnorodne klasy obsługujące współpracę
z modelem

COM

i wywoływanie

usług

systemowych.

System.Runtime.Serialization

- Zawiera klasy

które mogą być używane do serializowania
i deserializowania obiektów. Proces serializacji
polega na konwersji obiektu lub całego grafu
obiektów do postaci liniowej sekwencji bajtów,
którą można następnie zachować lub przesłać
do

innej

lokalizacji.

Deserializacja

jest

procesem odwrotnym.

background image

23

Przestrzeń nazw System

System.Net.Sockets

- Udostępnia zarządzaną

implementację interfejsu Windows Sockets

System.Security

- Umożliwia dostęp do

podsystemu zabezpieczeń .NET Framework.

System.Security.Cryptography

- Udostępnia

usługi kryptograficzne, w tym bezpieczne
kodowanie i dekodowanie danych, tworzenie
skrótów jednokierunkowych, generowanie
liczb

losowych

i uwierzytelnianie

komunikatów.

System.Text.RegularExpressions

- Zawiera

klasy

umożliwiające

manipulacje

na

wyrażeniach regularnych.

background image

24

Przestrzeń nazw System

System.Threading

- Zawiera klasy i interfejsy

umożliwiające programowanie wielowątkowe.

System.Timers

- Zawiera komponent Timer

umożliwiający

wywoływanie

zdarzenia

w określonych odstępach czasu.

System.Web

-

Zawiera

klasy

i interfejsy

umożliwiające

komunikację

przeglądarki

internetowej

serwerem,

a

ponadto:

manipulacje plikami cookie, transfer plików,
obsługę

wyjątków

i zarządzanie

buforem

wyjściowym.

System.Web.Caching

-

Zawiera

klasy

pozwalające na buforowanie często używanych
danych po stronie serwera.

background image

25

Przestrzeń nazw System

System.Web.Configuration

- Zawiera klasy

pozwalające

na

odczyt

i modyfikację

konfiguracji ASP .NET

System.Web.Mail

-

Zawiera

klasy

umożliwiające

tworzenie

i wysyłanie

wiadomości

email

za

pośrednictwem

komponentu CDOSYS Messaging.

System.Web.Security

-

Zawiera

klasy

używane do implementowania zabezpieczeń
ASP .NET w aplikacjach sieci Web.

System.Web.Services

-

Zawiera

klasy

umożliwiające tworzenie usług webowych
XML Web Serwices oraz klientów tych usług.

background image

26

Przestrzeń nazw System

System.Web.SessionState

-

Zawiera

klasy

i interfejsy

umożliwiające

przechowywanie

danych

specyficznych

dla

poszczególnych

klientów

aplikacji

ASP

.NET.

Informacje

o stanie sesji dają użytkownikowi wrażenie
stałego połączenia z aplikacją. Informacje
o stanie

sesji

mogą

być

przechowywane

w lokalnej pamięci procesu na serwerze Web
lub np. w  zewnętrznej bazie danych SQL Server.

System.Web.UI

- Zawiera klasy umożliwiające

tworzenie kontrolek HTML działających po
stronie serwera. Kontrolki HTML są mapowane
bezpośrednio na tagi HTML interpretowane
przez przeglądarki internetowe i pozwalają na
programowe manipulowanie elementami HTML
na stronie internetowej.

background image

27

Przestrzeń nazw System

System.Web.UI.WebControls

- Zawiera klasy

umożliwiające

umieszczanie

na

stronie

internetowej kontrolek webowych działających
po stronie serwera, takich jak elementy
formularzy (np. przyciski i pola tekstowe), oraz
takich jak kalendarz czy DataGrid. Mogą być
one manipulowane za pośrednictwem kodu
działającego po stronie serwera, a ich model
obiektowy niekoniecznie musi przekładać się na
kod HTML.

System.Windows.Forms

-

Zawiera

klasy

umożliwiające

tworzenie

funkcjonalnych

aplikacji działających pod kontrolą systemu
Microsoft Windows.

background image

28

System.Math

System.Math

- biblioteka funkcji

matematycznych (np..Sqrt, Cos, Log, Min)

System.Reflection

System.Reflection

- funkcje analizy

metadanych (np..Assembly, Module)

System.Xml

- Zawiera klasy umożliwiające

przetwarzanie dokumentów XML.

Przestrzenie nazw

background image

29

Przestrzenie nazw

Microsoft.Csharp

-

zawiera

klasy

obsługujące kompilację i generowanie kodu
przy użyciu języka programowania C#.

Microsoft.Jscript

-

zawiera

klasy

obsługujące kompilację i generowanie kodu
przy użyciu języka programowania JScript.

Microsoft.VisualBasic

-

zawiera

klasy

obsługujące kompilację i generowanie kodu
przy użyciu języka programowania Visual
Basic .NET.

background image

30

Interfejsy użytkownika

Formularze Widows (WinForms)

Formularze Widows (WinForms)

oparte są na

klasach

Windows Foundation Classes (WFC),

Windows Foundation Classes (WFC),

utworzonych dla J++, będące częścią klas
środowiskowych

przestrzeni

nazw

System.Windows.Forms

System.Windows.Forms

.

WinForms oparty jest na mechanizmie

tworzenia formularzy Visual Basica.

W VisualStudio.NET do tworzenia formularzy

służy wizualny kreator

EWinForms

EWinForms

.

Warstwa górna platformy .NET umożliwia
trzy sposoby wyświetlania i zarządzania
interfejsem. Są to: formularze Windows,
formularze Web oraz aplikacje konsolowe.

background image

31

Interfejsy użytkownika

Formularze Web (WebForms)

Formularze Web (WebForms)

stanowią nową

generacje narzędzi tworzenia interfejsów WWW.

Podstawowe

narzędzia WebForms

to:

szablon

zawierający

kod

HTML,

z

informacjami na temat sposobu wyświetlania
wszystkich elementów interfejsu,

komponent

zawierający

informacje

o

strukturze logicznej interfejsu.

Formularze Web składają się z dwóch części:

pierwsza zawiera informacje o kontrolkach i

ich rozmieszeniu,

druga zawiera kod, przy czym zdarzenia w

kontrolkach uruchamiają schematy zdarzeń w
kodzie.

background image

32

Interfejsy użytkownika

Kontrolki w Formularzach Web obsługiwane są

na serwerze, ale wynik ich działania dostępny
jest na komputerze klienta.

Dla

elementów

interfejsu

użytkownika,

formularza Web lub strony ASP na serwerze
tworzony jest

serwer pośredniczący proxy.

serwer pośredniczący proxy.

Kontrolka działająca po stronie serwera

sprawdza lokalną strukturę logiczną i tworzy
własny interfejs użytkownika w postaci kodu
HTML, rozsyłany we wszystkich stronach
zawierających kontrolki.

Kontrolki działające na serwerze mogą

zarządzać własnym stanem.

background image

33

Interfejsy użytkownika

Formularze

Web

wysyłają

wraz

ze

stroną

skompresowaną

informację

o

stanie

do

przeglądarki klienta, a kontrolki po stronie serwera
ją przechwytują i wykorzystują przy generowaniu
strony.

W środowisku .NET Framework dostępny jest

interfejs do tworzenia

aplikacji konsolowych

aplikacji konsolowych

.

Do interfejsu konsolowego mogą być zapisywane

zintegrowane komponenty zawarte w procesach
przetwarzających w trybie wsadowym.

Interfejs konsolowy, podobnie jak formularze

Windows i formularze Web dostępny jest dla
aplikacji napisanej w dowolnym języku platformy
.NET.

background image

34

Interfejsy programowe

Interfejsem programowym

Interfejsem programowym

usługi Web

usługi Web

, umożliwiające

tworzenie

aplikacji

wykorzystujących

rozproszone

lokalne i zdalne zasoby, integrowane w spójne
rozwiązanie.

Na platformie .NET usługi Web są implementowane jako

cześć

technologii ASP .NET

, która obsługuje wszystkie

interfejsy WWW. Technologia ta pozwala integrować w
jednolite aplikacje rozproszone usługi internetowe.

Integrację na platformie .NET zapewnia w znacznym

stopniu język

XML

XML

.

W postaci XML są najczęściej przechowywane

metadane.

Technologia XML jest wykorzystywana w

ADO.NET

,

umożliwiając zdalne zarządzanie i reprezentacje danych.

background image

35

Interfejsy programowe

Platforma .NET umożliwia sprawne posługiwanie

się komponentami

dotychczasowej technologii

oprogramowania COM/COM+,

tak jakby były one

komponentami

.NET.

Translacja

interfejsu

przebiega automatycznie.

Pierwszym komponentem platformy .NET jest

Visual Studio .NET

Visual Studio .NET

- kolejna wersja

Visual Studio

.

Visual Studio .NET

Visual Studio .NET

zawiera języki: Visual Basic,

Visual C++, C# (który zastąpił J++).

Wszystkie języki Visual Studio.NET używają

identycznego

zintegrowanego

środowiska

programistycznego

IDE

(Integrated Development

Environment).

background image

36

Instalacja Visual Studio .NET

Instalacja Visual Studio .NET

Przy instalacji

Visual Studio
.NET zostaną
zainstalowane
komponenty:

background image

37

Następny krok to opcje instalacji.

Do tworzenia ASP.NET potrzebne będzie

>>>>

background image

38

Visual Basic .NET lub C# .NET

(oba języki maja ta możliwość)

.NET Framework SDK ( niezbędne)

background image

39

Strona startowa Visual

Strona startowa Visual

Studio .NET

Studio .NET

background image

40

Start Page in Visual

Start Page in Visual

Studio .NET.

Studio .NET.

Navigation

Button

s

Location

bar

Recent
projects

ASimpleProgram

Project

Hidden
windows
(

Server

Explorer

and

Toolbox

)

background image

41

Szablony projektów

Szablony projektów

Po wybraniu opcji

New Project

, otworzy się okno

New Project, zawierające szablony projektów.

Windows
Applicatio
n

background image

42

Szablony projektów

Najważnieksze szablony projektów dostępne w

Visual Studio.NET są następujące:

Windows

Application

-

szablon

standardowego

programu

typu

EXE,

komunikującego się z uzytkownikiem za
pomocą interfejsu graficznego,

Class Library - biblioteka klas zawierająca

pliki DLL,

Windows Control Library - szablon programu

typu OCX, pozwalający tworzyć kontrolkiX,

ASP .NET Web Application - szablon

programu typu DLL, pozwalający tworzyć
programy uruchamiane w przeglądarkach
internetowych zdalnych użytkowników.

background image

43

Szablony projektów

Szablony projektów

WebApplication ASP .NET programowana

z wykorzystaniem Visual Basic .NET

background image

44

Szablony projektów

Console Application - szablon programu typu
EXE, działającego w wierszu polecenia systemu
Windows,

Windows Service - szablon programu typu EXE,
uruchamianego jako usługa systemu Windows.

W celu utworzenia nowego projektu należy
wybrać jego typ, a następnie szablon oraz podać
nazwę i określić (lub zaakceptować domyślną)
lokalizację projektu.

Okno nowo utworzonego projektu ma podobną
postać zarówno dla Windows Application jak i dla
Web Application i zawiera okienka:

Solution Explorer umożliwiające zarządzanie
plikami,

Properties umożliwiające ustawienie własności.

background image

45

Design view of Visual Studio .NET.

Design view of Visual Studio .NET.

Tabs

Active

tab

Form

(Windows

application)

titled

Form1

Menu

bar

Solution

Explorer

Propertie

s

window

background image

46

Projekt, pliki i dokument

background image

47

Menu

Description

File

Contains commands for opening and closing projects, printing project

data, etc.

Edit

Contains commands such as Cut, Paste, Undo, etc.

View

Contains commands for displaying IDE windows and toolbars.

Project

Contains commands for managing a solution’s projects and their files.

Build

Contains commands for compiling a Visual Basic .NET application.

Debug

Contains commands for identifying and correcting problems in

applications. Also contains commands for running applications.

Data

Contains commands for interacting with databases, which store the data

that an application processes. [Note: You will learn database concepts in

Tutorial 25, ATM Application.]

Format

Contains commands for aligning and spacing a Form’s controls.

Tools

Contains commands for accessing additional IDE tools and options that

enable customization of the IDE.

Window

Contains commands for hiding, opening, closing and displaying IDE

windows.

Help

Contains commands for accessing the IDE’s help features.

Figure 2.15 Visual Studio .NET IDE menu summary.

background image

48

IDE toolbar.

IDE toolbar.

• Toolbar

– Contains icons that represent commonly used

commands

– Down arrow indicates additional commands

Toolbar

Toolbar icon

indicates a

command to open

a project or

solution

Down arrow

indicates

additional

commands are

available

background image

49

• Tool tip

– Appears when mouse pointer held over icon
– Displays description of icon

Tool-tip demonstration.

Tool-tip demonstration.

Tool tip displayed when

the mouse pointer has

rested on the icon for a

few seconds

background image

50

Toolbar icons for three Visual Studio .NET

Toolbar icons for three Visual Studio .NET

IDE windows.

IDE windows.

• Toolbar icons

– Contains commands for opening:

Solution Explorer

window

Properties

window

Toolbox

Solution Explorer

icon

Toolbox
icon

Properties

icon

background image

51

Scroll
arrow
(disabled)

Tabs

Controls

Tabs

Scroll
arrow
(enabled)

Additional

Windows

Forms

tab controls
(displayed after
the down-scroll
key has been
clicked several
times

Toolbox displaying the contents

Toolbox displaying the contents

of the Windows Forms tab.

of the Windows Forms tab.

background image

52

Properties window displaying a

Properties window displaying a

Form

Form

’s properties.

’s properties.

Component object

box

Toolba
r

Alphabetic

icon

Categorized

icon

Selected

property

Design

icon

Description of

selected

property

Properties (left

column)

Property

values (right

column)

Scrollbo

x

Scrollb
ar

Object’s name

(

Form1

)

Down arrow for
selecting Form or
control objects

Object’s class
(System.Windows.Forms.
Form)

background image

53

Solution Explorer

Kliknięcie na którymś elemencie w Solution

Explorer

powoduje

pojawienie

się

okna

Properties pokazujące szczegółowe informacje o
elemencie
.

background image

54

Title

bar

Displaying a hidden window

Displaying a hidden window

with Auto Hide enabled.

with Auto Hide enabled.

Horizontal pin
icon (Auto Hide
enabled)

Mouse pointer

over the tab for

the

Toolbox

Toolbox

is

displayed when
the mouse pointer
is placed on the
tab for the

Toolbox

background image

55

Mouse pointer

outside the tab

for the

Toolbox

(

Toolbox

windows

is hidden)

Hiding the Toolbox by moving the

Hiding the Toolbox by moving the

mouse pointer outside of Toolbox’s

mouse pointer outside of Toolbox’s

area.

area.

background image

56

Solution Explorer

Po rozwinięciu w oknie Solution Explorer

folderu References, można zobaczyć listę
automatycznie ustawionych przestrzeni nazw.

Projekt typu Windows Application zawiera

domyślny formularz Form1.vb, natomiast
projekt typu Web Application zawiera
domyślny formularz WebForm.aspx

Po kliknięciu w oknie Solution Explorer

prawym klawiszem formularza można z menu
kontekstowego wybrać View Code (okienko
edytora kodu) lub View Designer (projekt
formularza).

background image

57

Atrybuty projektu

Lista atrybutów projektu jest podzielona na

dwie grupy:

Common Properties
Configuration Properties

W sekcji General obu typów atrybutów można

określić nazwę programu i obiekt startowy.

Typ

programu

można

zmieniać

w

ograniczonym zakresie; nie można zmienić
programu tworzonego przy pomocy szablonu
Windows Application na program typu Web
Application.

Otwierając projekt należy wskazać plik z

rozszerzeniem .sln

background image

58

Okno Toolbox zawiera wiele

zakładek (np.. Web Forms, Data,
HTML)

Każda zakładka rozwija się po

kliknięciu,

Zakładki

zawierają

kontrolki

takie jak Label (etykieta), Text
Box (pole tekstowe), itp.

Kontrolki „przeciągamy” na

dokument, a następnie będziemy
mogli zmieniać ich właściwości.

Dodawanie

kontrolek

background image

59

Obsługują

wyświetlanie

i

wysyłanie danych z i
do bazy.

Po

przeciągnięciu

usta-wiamy

ich

właściwości w oknie
Properties

Solution

Explorer

zawiera kontekstową
pomoc

w

oknie

Dynamic Help

Kontrolki Data

background image

60

Języki plarformy .NET

Języki używane na platformie .NET muszą być

zgodne ze specyfikacją języków

CLS (Commin

CLS (Commin

Language Specyfication).

Language Specyfication).

Rozróżnia się

trzy kategorie zgodności języków

platformy .NET:

zgodność produkcji - wymienne komponenty

języka,

zgodność użytkowania - wymienne klasy,
rozszerzalność, w wyniku dziedziczenia.

Wszystkie języki Visual Studio musza podlegać

konwersji przy przenoszeniu na platformę
.NET ze względu na pewne różnice składniowe.

background image

61

Środowisko CLR

Środowisko uruchomieniowe CLR

Środowisko uruchomieniowe CLR

(

Common Language

Runtime

) odpowiada za zarządzanie i wykonanie kodu

skompilowanego do platformy .NET. Umożliwia ono:

płynną integrację kodów napisanych w różnych

językach,

zadeklarowanie

odpowiedniego

poziomu

bezpieczeństwa

dla

kodu

zarządzalnego,

sterującego zezwoleniami,

obsługę kilku wersji równocześnie oraz wdrażania,
profilowanie i testowanie kodu zarządzalnego,
automatyczne zarządzanie pamięcią,
kompilację kodu zarządzalnego na kod pośredni IL,

a następnie na kod wykonywalny.

CRL

może być przeniesione na inne platformy

sprzętowe i do innych systemów operacyjnych.

background image

62

Moduł

Moduł

Język pośredni IL

Struktura aplikacji .NET

Struktura aplikacji .NET

Aplikacja .NET składa się z trzech podstawowych elementów:

Metadata

Manifest

TYP

TYP

metody,

właściwości, pola

TYP

TYP

metody, właściwości,

pola

Złożenie

Złożenie

background image

63

Struktura aplikacji .NET

Złożenie (assembly)

Złożenie (assembly)

- jest to podstawowa

jednostka wdrożeniowa kodu zarządzalnego.
Składa się ono z:

manifestu

- zawierającego:

informacje o tożsamości złożenia (nazwa, nr.

wersji, klucz publiczny),

deklaratywne

żądania

potwierdzenia

bezpieczeństwa (wymagane, opcjonalne i
odrzucone),

listę powiązanych złożeń,
listę innych używanych typów i zasobów.

Manifest przechowywany jest w oddzielnym
pliku lub w jednym z modułów

jednego lub kilku

modułów

.

background image

64

Struktura aplikacji .NET

Moduły

Moduły

- są to pliki DLL lub EXE Windows PE

(Portable Executable). Moduł zawiera:

kod języka pośredniego IL,
metadane powiązane z kodem IL, dostarczające

informacji na temat typów deklarowanych w IL,

manifest złożenia.

Typy

Typy

- są to szablony używane do opisu

hermetyzacji danych oraz powiązanego zbioru
zachowań. Zakres typów jest ustawiany na
poziomie złożeń.

Platforma .NET wprowadza wspólny system

typów CTS

Typ ma właściwości, metody oraz pola,

stanowiące dane elementów w obrębie typu.

background image

65

Struktura aplikacji .NET

Metadane

Metadane

-

to

informacje

pozwalające

komponentom na samoopisanie się.

Określają one takie aspekty komponentu jak klasy,

metody, pola oraz samo złożenie.

W środowisku CRL metadane pozwalają na analizę i

weryfikację złożenia przed jego uruchomieniem
oraz

na

porządkowanie

pamięci

podczas

wykonywania

kodu

zarządzalnego

i

innych

procesów.

W modelach COM/COM+ metadane przechowywane

są oddzielnie od części wykonywanej aplikacji,
natomiast metadane opisujące komponent .NET są
przechowywane w zawierającym go pliku, co
umożliwia

wykorzystanie

komponentów

bezpośrednio po skopiowaniu do systemu, bez
dodatkowej rejestracji.

background image

66

Struktura aplikacji .NET

Dostęp do wszystkich metadanych powiązanych z

kodem

zarządzalnym

jest

możliwy

dzięki

interfejsowi Reflection API.

interfejsowi Reflection API.

Interfejs

Reflection API

pozwala analizować

metadane powiązane z bieżąco wykonywanym
złożeniem.

Dostęp do metadanych powiazanych z typem

uzyskujemy za pomocą obiektu

Type

, zwracanege

przez

metodę

GetType

znajdujaca

się

w

System.Object

.

Metoda

Type.Method

umozliwia nawigację w górę

hierarchii obiektów.

Dostęp

do

metadanych

powiazanych

z

poszczególnymi polami, własciwościami oraz
metodami umozliwiają metody

Type.GetFields

,

Type.GetMethods

oraz

Type.GetProperties

.

background image

67

Wspólny system typów

CTS

Wspólny system typów CTS

Wspólny system typów CTS

umożliwia każdemu

językowi

programowania

korzystanie

z

podstawowego

systemu

typów

oraz

mechanizmów rozszerzania tych typów.

Rozróżniamy

dwa rodzaje typów CTS

:

typy refernecyjne

, będące odpowiednikami

klas,

typy wartości

odpowiadające strukturom.

Każdy typ obsługiwany przez CTS jest

wyprowadzany

z

przestrzeni

nazw

System.Object

i obsługuje następujące metody:

Boolean

Equals

(Object)

-

sprawdza

równoważność z innym obiektem

background image

68

Wspólny system typów

CTS

Int32 GetHashCode ( )

- generuje liczbę

odpowiadającą wartości obiektu,

Type GetType

- pozwala użyć obiektu Type w

celu uzyskania dostępu do metadanych
powiązanych z typem,

StringToString

- domyślnie, zwraca pełna

nazwę klasy obiektu.

Podstawowe typy wartości (tzw. typy proste -

primitive types) obsługiwane na platformie
.NET dostępne są w głównej przestrzeni nazw

System

System

. Są to:

Boolean - typ logiczny,
Byte - jeden bajt bez znaku (0 - 255),
Sbyte - 8-mio bitowa wartość liczby

całkowitej ze znakiem (-128 do +127),

background image

69

Wspólny system typów

CTS

GUID - unifikatowy identyfikator (128

bitowa liczba całkowita),

Int16, Int32, Int64 - odpowiednio 16-, 32,

64-bitowa wartość liczby całkowitej ze
znakiem,

Decimal - 28 cyfr znaczących ze znakiem
Double

-

64-bitowa

liczba

zmiennoprzecinkowa ze znakiem,

Single

-

4-bajtowa

liczba

zmiennoprzecinkowa ze znakiem,

DateTime - wartość daty i czasu,
TimeSpan - czas ze znakiem,
Char - wartość znaku Unicode.

background image

70

Wspólny system typów

CTS

Przestrzeń nazw

System.XML

System.XML

zawiera typy

potrzebne do tworzenia dokumentów XML.

Przynależność typu do kategorii typów wartości

lub typów referencyjnych

zależy od sposobu

traktowania jego instancji przez środowisko
CRL:

instancje typów wartości

są tworzone

na

stosie

; dwie zmienne typu wartości są sobie

równe, jeśli ich stany są równe

instancje typów referencyjnych

są tworzone

na

stercie

zarządzalnej

-

one

inicjalizowane wartością NULL. Dwie zmienne
typu referencyjnego są sobie równe, jeśli obie
stanowią odwołanie do tego samego obiektu.

background image

71

Tworzenie własnych

typów

Definiowanie

typów

referencyjnych

na

platformie .NET polega na deklarowaniu

klas

.

Instancje

obiektów

typów

referencyjnych

tworzymy przy pomocy operatora

new

i

inicjalizujemy za pomocą

konstruktora

lub w

instrukcji przypisania

.

Definiowanie

typów wartości

na platformie .NET

polega na deklarowaniu

struktur

.

Wszystkie

typy wartości

są pochodną metody

System. ValueType

System. ValueType

, która przesłania metody

Object.Equals

Object.Equals

oraz

Object.GetHashCode.

Object.GetHashCode.

Modyfikowanie

i

dostęp

do

danych

hermetyzowanych przez instancję typu wartości

hermetyzowanych przez instancję typu wartości

jest możliwe tylko przez odpowiadająca im

jest możliwe tylko przez odpowiadająca im

zmienną.

zmienną.

background image

72

Pakowanie typów

wartości

Pakowanie typów wartości (boxing)

ma miejsce

gdy

instancja

typu

wartości

jest

to

konwertowana

na

instancje

typu

referencyjnego, natomiast

odpakowanie typów

wartości ( unboxing)

jest procesem odwrotnym.

Pakowanie typów wartości może być formalne i
nieformalne.

Formalne pakowanie instancji typów wartości
stosujemy,

gdy

zachodzi

konieczność

przekazania jej do metod wymagających typu
referencyjnego.

background image

73

Atrybuty

Atrybuty

Atrybuty

służą

do

określania

dodatkowych

informacji o takich elementach jak złożenia, klasy,
metody oraz właściwości. Mogą one:

mieć znaczenie czysto informacyjne,
być wykorzystane do zażądania określonego

zachowania podczas wykonywania programu,

do wywołania określonego zachowania innej

aplikacji.

Na platformie .NET można tworzyć własne atrybuty

metadanych opisujących komponenty.

Atrybuty mogą być stosowane do metod i do klas.

Przy tworzeniu atrybutu

należy zdefiniować klasę

atrybutu, będącą pochodną klasy

System.Attribute

,

która nie powinna być rozszerzalna i musi mieć
przynajmniej jeden konstruktor.

background image

74

Dane zarządzalne

Jedną z najważniejszych możliwości środowiska
CLR

jest

zarządzanie

danymi

aplikacji,

alokowanymi na stercie zarządzalnej.

Sterta zarządzalna

jest to obszar pamięci

alokowany i zarządzany przez środowisko CLR,
w której umieszczane są wszystkie obiekty
zarządzalne, a zwłaszcza typy referencyjne.

CRL nadzoruje dostęp do tych obiektów,
zachowując bezpieczeństwo typów.

Sterta zarządzalna cechuje się

wydajną alokacją

pamięci

, lokując pamięć dla kolejnych obiektów

dokładnie

nad

ostatnio

przydzielonym

fragmentem

pamięci,

do

którego

sterta

zarządzalna utrzymuje odwołania.

background image

75

Dane zarządzalne

Obiekty, do których nie ma już odwołań są usuwane

przez

automatyczny

automatyczny

odśmiecacz

odśmiecacz

, który jednocześnie

przesuwa

pozostawione

obiekty

w

dół

sterty

zarządzalnej,

wypełniając

luki

po

obiektach

usuwanych.

Pozwala to na

eliminację fragmentacji pamięci

oraz

aktualizację odwołań do ostatniej alokacji na stercie.

Odśmiecacz może być uruchamiany automatycznie

przez środowisko CLR lub z aplikacji poleceniem

GC.Collect

,

Odśmiecacz umożliwia likwidację

przecieków pamięci

.

Przeciek pamięci następuje wtedy, gdy pamięć

alokowana przez aplikację jest zablokowana mimo, że
aplikacja przestaje ją używać.

background image

76

Dane zarządzalne

Przecieki

w kodzie niezarządzalnym występują gdy:

aplikacja napisana w C++ lokuje na stercie

zarządzalnej pamięć związaną z obiektem,
natomiast odśmiecacz zbiera tylko obiekty do
których nie ma już odwołań w aplikacji,

dwa obiekty COM zawierają odwołania cykliczne

(A do B, a B do A).

Automatyczny odśmiecacz bezpośrednio przed

usunięciem

obiektu

wywołuje

metodę

Object.Finalize

Object.Finalize

, która powinna zawierać wszystkie

czynności związane z porządkowaniem pamięci.

Uruchomienie

automatycznego

odśmiecacza

następuje dopiero wtedy,

gdy brakuje wolnej

pamięci

.

background image

77

Dane zarządzalne

Niezbędne

porządkowanie

pamięci

należy

przeprowadzać w metodzie

Finalize

Finalize

, której ścieżka

kodu powinna być możliwie jak najkrótsza.

Metoda

Finalize

nie powinna być traktowana przez

programistę jako destruktor obiektów, a jedynie
używana wtedy gdy brakuje pamięci.

Implementując

metodę

Finalize

należy

zaimplementować metodę

Dispose

Dispose

lub

Close

Close

, która

może być wywołana przez klienta, gdy obiekt
przestaje być używany.

Metoda

Finalize

nie powinna wywoływać metod dla

innych obiektów, do których odwołuje się zbierany
obiekt.

Kolejność zbierania obiektów na stercie zarządzalnej

przez automatyczny odśmiecacz jest nieokreślona.

background image

78

Dino Esposito : Tworzenie aplikacji za pomocą ASP.NET oraz

ADO.NET (Microsoft Press, Wydawnictwo RM Warszawa 2002)

Julian Templeman, David Vitter : Visual Studio .NET: .NET

Framework. Czarna Księga (Helion 2003)

Microsoft Press : Microsoft Visual C#.NET Encyklopedia

(Helion 2003)

Rusty Harold : XML. Księga Eksperta (Helion 2001)
Scott Worley : ASP.NET. Vademecum Profesjonalisty (Helion,

2003)

Steaven Holzner : XML. Vademecum Profesjonalisty

(Helion2001)

http://www.ASP.com
http://www.ietf.org/RFC% 2069/
http://www.learnASP.com
http://www.msdn.microsoft.com/vcsharp/
http://www.windows2003.pl
http://www.xml.com

Literatura


Document Outline


Wyszukiwarka

Podobne podstrony:
For Dummies Visual Studio NET C++ for Dummies Quick Reference Guide
Visual Studio NET NET Framework Czarna ksiega 2
Visual Studio NET NET Framework Czarna ksiega vsnetb
Visual Studio NET NET Framework Czarna ksiega vsnetb
Visual Studio NET NET Framework Czarna ksiega vsnetb
Visual Studio NET NET Framework Czarna ksiega
Visual Studio NET NET Framework Czarna ksiega vsnetb
Visual Studio NET NET Framework Czarna księga
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
ASP NET Web Forms Kompletny przewodnik dla programistow interaktywnych aplikacji internetowych w Vis
algorytm splot funkcji cplusplus visual studio c convolution
Tworzenie aplikacji w Visual Studio 08 v ?z ekranów
Mastering Visual Basic NET Database Programming
Visual Basic NET
100 sposobow na Visual Studio 100vis
01 Wprowadzenie do Visual Studio cwiczenia przygotowujace

więcej podobnych podstron