Platforma .NET Maria DEMS.

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Programowanie obiektowe
Wprowadzenie do C++ Zajęcia 2.
18/11/ Języki programowania 1 Piotr Górczyński Biblioteki.
Wydajne aplikacje na platformie .NET
ADAM Active Directory w trybie aplikacyjnym
CLR na platformie .NET Tomasz Kostarski.
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
18/11/ Języki programowania 1 Piotr Górczyński Łączenie z bazą danych.
Platforma .Net i Vs.Net.
Tworzenie ASP.NET Web Form
PSZ wykład 1 > Systemy i środowiska zintegrowane
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.
ASP.NET i platforma.NET Technologie internetowe ( ) Tomasz Popów
Usługa Windows Server Update Services (WSUS)
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Wzorce projektowe w J2EE
Systemy zarządzania treścią CMS
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
Budowa, przeglądanie i modyfikacja
C# Windows Forms Zastosowania Informatyki Wykład 2
Rozwój aplikacji przy wykorzystaniu ASP.NET
Witold Bołt Wprowadzenie do .NET Witold Bołt
Instytut Tele- i Radiotechniczny WARSZAWA
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Opracował : Przemysław Drzymała
CDN OPT!MA integracja z Systemem Microsoft Office 2003.
ANNA BANIEWSKA SYLWIA FILUŚ
Lokalizacja i Globalizacja na witrynie w Visual Web Developer 2008 (ASP.Net) Daniel Literski.
Prezentacja i szkolenie
Przygotował: Paweł Ziaja
Programowanie obiektowe – zastosowanie języka Java SE
Narzędzia administracyjne
Wybrane zagadnienia relacyjnych baz danych
18/11/ Języki programowania 1 Piotr Górczyński Kontrolki.
Technologie Programowania seminarium
Wstęp do ASP.NET Arkadiusz Popa Serwery Aplikacji
EcoCondens Kompakt BBK 7-22 E.
Projektowanie stron WWW
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
Testogranie TESTOGRANIE Bogdana Berezy.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Toruń 28/ Metadane SAML opisują, w jaki sposób ma być realizowana komunikacja pomiędzy IdP i SP Metadane są typowo prezentowane w postaci XML.
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Elementy geometryczne i relacje
Platforma .NET VB.NET Maria DEMS.
Uprawnienia w Windows Server
Podstawy języka skryptów
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
.NET i Bazy Danych Projekt: Wadim Grasza.
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
Platforma .Net.
Programowanie Zaawansowane
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
Temat: Tworzenie bazy danych
T. 18. E Proces DGA - Działania (operatorka).
Programowanie obiektowe – zastosowanie języka Java SE
Tworzenie stron WWW w programie Microsoft FrontPage
Aplikacje i usługi internetowe
Podstawy programowania
JavaBeans by Paweł Wąsala
Zapis prezentacji:

Platforma .NET Maria DEMS

Instalacja pakietów platformy .NET Kolejność instalacji: 1. Microsoft .NET Framework 1.1, plik 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 — plik langpack.exe Pakiet języka polskiego, http://download.microsoft.com/download/4/9/c/49c172 89-dfd6-4eca-87a1-a2fe5e580774/langpack.exe 3. Pakiet programowania Microsoft Asp.NET Web Matrix Project, plik WebMatrix.msi http://www.asp.net/webmatrix/default.aspx

Ogólna charakterystyka platformy .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 obejmujące zintegrowane w ramach tego środowiska główne produkty Microsoftu, takie jak Windows, Visual Studio oraz pakiet Office.

Ogólna charakterystyka platformy .NET Integracja produktów .NET oparta jest na: XML- języku opisu danych, SOAP - protokole transmisji danych między produktami. 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.

Ogólna charakterystyka platformy .NET Programy napisane w Visual Studio .NET uruchamiane są w wirtualnej maszynie .NET Framework, a więc są niezależne od systemu operacyjnego. Platformę .NET Framework dla Windows 2000, Windows 98, Windows Me, można pobrać ze strony: http://msdn.microsoft.com/netframework/downloads Platforma .NET Framework dla Windows 2003 jest instalowana automatycznie podczas instalacji systemu.

Schemat platformy .NET C# VB C++ Java Script J# Itd. Vi-sual Stu- dio. NET lub inne 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 Schemat platformy .NET

Ogólna charakterystyka platformy .NET Rdzeń platformy stanowi .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 korzysta ze standardu XML oraz protokołu SOAP. .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.

Główne komponenty platformy .NET Architektura .NET składa się z trzech warstw: Interfejsy użytkownika i programowe ASP.NET WinForms, Web Forms, Web Service Standardowy system usług nowej generacji ADO.NET Klasy bazowe platformy .NET XML Środowisko uruchomieniowe CLR zarządzanie pamięcią wspólny system typów monitorowanie Taka Architektura zapewnia integrację technologii prezentacji, komponentów oraz danych.

Środowisko uruchomieniowe CLR Główne elementy środowiska CLR Wspólny system typów Kompilacja kodu IL Obsługa wykonywania (tradycyjne funkcje środowiska uruchomieniowego) Bezpieczeństwo Zarządzanie stosem i pamięcią, opóźnianie pamieci Ładowanie klas i układ pamięci Jest to środowisko uruchamiania aplikacji, skompilowa-nych na wspólny język pośredni MSIL lub IL

Główne cele środowiska CLR Łatwiejsze i szybsze tworzenie oprogramowania. 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 generowanych przez kompilator i automatycznie przechowywane w plikach EXE lub DLL. Do metadanych na platformie .NET zaliczamy: 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.

Główne cele środowiska CLR klasy bazowe oraz interfejsy używane przez złożenia, 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.

Główne cele środowiska CLR 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).

Główne cele środowiska CLR 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)

Główne cele środowiska CLR 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, są 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.

Wdrażanie i uruchamianie programów w środowisku 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.

Biblioteka klas bazowych BCL Warstwa środkowa platformy .NET obejmuje: usługi, modele obiektów danych zawierające obiekty ADO oraz ADO.NET , XML oraz klasy bazowe platformy .NET. 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, zawierające wszystkie definicje i klasy bazowe

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.

Przestrzenie nazw Kolejne w hierarchii są przestrzenie niskiego poziomu, takie jak: 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).

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

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 – 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

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.

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.

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.

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 z  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.

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.

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.

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.

Przestrzenie nazw System.Math - biblioteka funkcji matematycznych (np..Sqrt, Cos, Log, Min) System.Reflection - funkcje analizy metadanych (np..Assembly, Module) System.Xml - Zawiera klasy umożliwiające przetwarzanie dokumentów XML.

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.

Interfejsy użytkownika Warstwa górna platformy .NET umożliwia trzy sposoby wyświetlania i zarządzania interfejsem. Są to: formularze Windows, formularze Web oraz aplikacje konsolowe. Formularze Widows (WinForms) oparte są na klasach Windows Foundation Classes (WFC), utworzonych dla J++, będące częścią klas środowiskowych przestrzeni nazw System.Windows.Forms. WinForms oparty jest na mechanizmie tworzenia formularzy Visual Basica. W VisualStudio.NET do tworzenia formularzy służy wizualny kreator EWinForms.

Interfejsy użytkownika 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.

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. 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.

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. 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.

Interfejsy programowe Interfejsem programowym są 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. W postaci XML są najczęściej przechowywane metadane. Technologia XML jest wykorzystywana w ADO.NET, umożliwiając zdalne zarządzanie i reprezentacje danych.

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 - kolejna wersja Visual Studio. 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).

Instalacja Visual Studio .NET Przy instalacji Visual Studio .NET zostaną zainstalowane komponenty:

Następny krok to opcje instalacji. Do tworzenia ASP.NET potrzebne będzie >>>>

.NET Framework SDK ( niezbędne) Visual Basic .NET lub C# .NET (oba języki maja ta możliwość) .NET Framework SDK ( niezbędne)

Strona startowa Visual Studio .NET

Start Page in Visual Studio .NET. Navigation Buttons Location bar Recent projects Hidden windows (Server Explorer and Toolbox) ASimpleProgram Project

Szablony projektów Po wybraniu opcji New Project, otworzy się okno New Project, zawierające szablony projektów. Windows Application

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.

Szablony projektów WebApplication ASP .NET programowana z wykorzystaniem Visual Basic .NET

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.

Design view of Visual Studio .NET. Solution Explorer Tabs Menu bar Active tab Properties window Form (Windows application) titled Form1

Projekt, pliki i dokument

Down arrow indicates additional commands are available IDE toolbar. Toolbar icon indicates a command to open a project or solution Toolbar Down arrow indicates additional commands are available Toolbar Contains icons that represent commonly used commands Down arrow indicates additional commands

Tool-tip demonstration. Tool tip displayed when the mouse pointer has rested on the icon for a few seconds Tool tip Appears when mouse pointer held over icon Displays description of icon

Toolbar icons for three Visual Studio .NET IDE windows. Properties icon Solution Explorer icon Toolbox icon Toolbar icons Contains commands for opening: Solution Explorer window Properties window Toolbox

Toolbox displaying the contents of the Windows Forms tab. Tabs Scroll arrow (disabled) Controls Additional Windows Forms tab controls (displayed after the down-scroll key has been clicked several times Scroll arrow (enabled) Tabs

Properties window displaying a Form’s properties. Object’s class (System.Windows.Forms.Form) Object’s name (Form1) Component object box Down arrow for selecting Form or control objects Categorized icon Toolbar Alphabetic icon Scrollbar Selected property Scrollbox Design icon Properties (left column) Description of selected property Property values (right column)

Solution Explorer Kliknięcie na którymś elemencie w Solution Explorer powoduje pojawienie się okna Properties pokazujące szczegółowe informacje o elemencie.

Displaying a hidden window with Auto Hide enabled. Title bar 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

Hiding the Toolbox by moving the mouse pointer outside of Toolbox’s area. Mouse pointer outside the tab for the Toolbox (Toolbox windows is hidden)

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).

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

Dodawanie kontrolek 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.

Kontrolki Data 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

Języki plarformy .NET Języki używane na platformie .NET muszą być zgodne ze specyfikacją języków CLS (Commin 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.

Środowisko 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.

Struktura aplikacji .NET Aplikacja .NET składa się z trzech podstawowych elementów: Złożenie Manifest Moduł Metadata Język pośredni IL TYP metody, właściwości, pola TYP metody, właściwości, pola

Struktura aplikacji .NET 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.

Struktura aplikacji .NET 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 - 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.

Struktura aplikacji .NET Metadane - są 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.

Struktura aplikacji .NET Dostęp do wszystkich metadanych powiązanych z kodem zarządzalnym jest możliwy dzięki 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.

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

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. 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),

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.

Wspólny system typów CTS Przestrzeń nazw 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 - są one inicjalizowane wartością NULL. Dwie zmienne typu referencyjnego są sobie równe, jeśli obie stanowią odwołanie do tego samego obiektu.

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, która przesłania metody Object.Equals oraz Object.GetHashCode. Modyfikowanie i dostęp do danych hermetyzowanych przez instancję typu wartości jest możliwe tylko przez odpowiadająca im zmienną.

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.

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.

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.

Dane zarządzalne Obiekty, do których nie ma już odwołań są usuwane przez automatyczny 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ć.

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, 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.

Dane zarządzalne Niezbędne porządkowanie pamięci należy przeprowadzać w metodzie 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 lub 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.

Literatura 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