Documente Academic
Documente Profesional
Documente Cultură
Evenimentele si metodele unei forme sunt in general lansate in urmtoarea ordine: New(),
Show(), Load. Activated, GotFocus, Closing, Closed, LostFocus, Deactivate, Dispose().
Metoda New geneaz evenimentul Initialize care pregteste aplicaia pentru folosire. In acest
eveniment, variabilele sunt initializate, controalele sunt mutate la pozitia lor i dimensionate la
dimensiunea indicat la design time.
Metoda Show include un load implicit. Dac forma nu este deja incarcat, aplicatia incarca
automat forma in memorie si apoi o afiseaz utilizatorului. Pentru a afisa forma ca i o cutie de
dialog, se poate apela
ShowDialog().
Load: evenimentul load este utilizat pentru a realiza acele actiuni necesare inainte ca forma s fie
afisat i este invocat ori de cte ori forma este incarcat in memorie (ca rezultat al unei comenzi
Load, Show sau o referentiere la un subcontrol neincarcat in memorie al formei)
Activate/Deactivate apar atunci cand utilizatorul se mut intre 2 forme ale aplicaiei. Activate
apare atunci cand forma primete focus doar atunci cand forma este vizibil. Deactivate apare
atunci cnd forma pierde focusul. Deactivate apare dup LostFocus.
Closing este util pentru a identifica modul in care uitlizatorul inchide forma. Apare inainte
Closed. Closed apare inainte de evenimentul Dispose. Specifica actiunile care trebuiesc
executate la inchiderea formei. Poate include cod de validare la nivelul formei sau salvri ale
datelor in fisiere.
O form web este format dintr-o combinaie de cod HTML, cod surs i controale care se
execut pe un server web care ruleaz Microsoft IIS. Formele web afiseaz interfaa grafic prin
generearea codului HTML care este livrat la browser, in timp de codul surs aferent si
controalele ruleaz pe server.
Tracing inseamna primirea mesajelor informative despre executia unei aplicatii web la Runtime;
aceste mesaje ajuta la diagnosticarea problemei aplicatiei sau la analiza performantei. Trace
statement-urile la nivel de aplicatie sunt afisate in pagini individuale. Pt ca rezultatele sa fie
vizibile, trebuie setata pagina: pageOutput=false in web.config. Cand se permite accesul
tracingului la nivel aplicatie, setarile la nivel pagina raman in efect. Astfel:
-daca la niv pagina trace=true si la niv aplicatie trace=true sau trace=false, rezultatele sunt
afisate in pag -daca la niv pagina trace=false si la niv aplicatie trace=true sau trace=false,
rezultatele nu sunt afisate in pag
-daca la niv pagina trace nu este setat si la niv aplicatie trace=true, rezultatele sunt afisate in pag
Adaugare:
Se furnizeaz informaie despre evolutia site, cine a accesat siteul, rezultatele cererilor,
cum arat cererile / raspunsurile HTTP
Managementul starii pe partea de server foloseste resursele serverului pentru a stoca informatii
despre stare. Aceste optiuni au un nivel mai mare de siguranta decat cele pe partea de client.
Starea aplicatiei este un mechanism de stocare gobal, care este accesibil din toate paginile
aplicatiei si este util pentru stocarea informatiilor legate de utilizator, care trebuie mentinute intre
server si intre pagnile aplicatiei.
Starea aplicatiei
Informatia e global ape aplicatie si este valabila tuturor utilizatorilor fara sa conteze identitiatea
user-ului.
Foloseste resursere serverului pentru a stoca informatii despre stare
Starea sesiunii
Este valabila strict pt utilizator care viziteaza siteul
Aceasta stare este salvata pe server
Fiecare vizitator ar site-ului va avea propria sesiune salvata pe memoria serverlui
GATA!!!!!
Se instantiaza proxy
Se apeleaza met serviciului web prin proxyul instantiat.
Serviciile web XML utilizeaz SOAP ca i protocol pentru transmiterea de mesajele de reea.
SOAP este un protocol bazat pe XML, facilitnd schimbul de informatii n medii descentralizate
i distribuite. Folosind SOAP-ul ca protocol de transmisire, mesajele pot transmite date prin
referine i pot conine structuri complexe cum ar fi obiecte, structuri i seturi de date.
WSDL este o gramatic XML folosit pentru descrierea serviciului Web in sensul mesajelor care
sunt acceptate i generate de serviciu. WSDL se comport ca un contract intre consumatorul de
serviciu web si furnizor. Descrierea serviciului web este folosit de .NET Framework cnd se
adaug o referin la un serviciu n aplicaia client.
1.Filozofia .net cu limbajele de programare
.Net Framework furnizeaz suport pentru mai multe limbaje de programare. C# a fost proiectat
special pentru .NET Framework. Este primul limbaj orientat pe componente din familia C i C+
+. Poate fi inglobat in paginile ASP.NET. Facilitti importante sunt clasele, interfetele, delegates,
boxing si unboxing, spatiile de nume, propriettile, indexerele, gestiunea versiunilor, etc. Se
elimina fisierele header si IDL.
C++ managed este o extensie minimal a C++ pentru a furniza acces la toate facilittile .NET
Visual Basic include inovatii multe fat de versiunea anterioar oferind suport pentru mostenire,
constructori, polimorfism, exceptii structurate, verfiicarea strict a tipurilor, fire de execuie si
altele.
Jscrip.NET este rescris total pentru suport .NET. Furnizeaz suport la clase, mostenire, tipuri,
compilare si facilitti pentru performant sportit si productivitate.
Visual J#.NET este o unealt de dezvoltare pentru programatorii Java fiind total compatibil cu
.NET.
.NET suport si alte limbaje tere precum APL, COBOL, PASCAL, EIFFEL, Haskell, Oberon,
Perl, Python, Scheme, Smalltalk.
2.Delegate+handler de evenimente
In .NET Framework un eveniment este folosit pentru a semnala apariia unei aciuni. Un
eveniment poate fi generat si in mod programatic, de exemplu la finele unei proceduri care
realizeaz un calcul lung. Obiectul care lanseaz evenimentul este referit ca si trimittorul
evenimentului. Procedura care trateaz evenimentul este referit ca i receptorul evenimentului.
Trimittorul evenimentului nu stie ce obiect sau metod va recepiona evenimentul. Deci, este
nevoie de o component care s lege trimittorul evenimentului de receptor. .NET Framework
foloseste tipul Delegate care s funcioneze ca i un pointer intre trimittor i receptor. Obiectele
de tip Delegate sunt utilizate pentru a apela metode ale altor obiecte. Aceste obiecte sunt
necesare atunci cand avem nevoie de un intermediar intre procedura care apeleaz si cea apelat.
Folosirea delegates este util atunci cnd aplicaia trebuie s fac o actiune prin apelul unei
metode dar nu se cunoaste care e acea actiune. Delegates permite specificarea actiunii care se va
invoca la runtime.
Timpul de rspuns al aplicaiei: Formele Windows ruleaz direct la client deci pot s ofere cel
mai rapid timp de rspuns posibil. La formele Web ins, de cele mai multe ori rspusurile
necesit o vizit la server pentru diverse procesri, de astfel, timpul de rspuns este mai mare. -
Plaforma pe care ruleaz: Windows Forms necesit ca pe calculatorul unde se execut s fie
instalat .NET Framework. Web Forms necesit doar un browser (de exemplu Internet Explorer).
Serverul Web trebuie s aib instalat i s suporte .NET Framework.
Grafica: Formele Window includ GDI+ care permit realizarea de grafic sofisticat pentru
crearea de jocuri, sau alte aplicaii bogate in grafic. Formele Web pentru a genera o grafic
interactiv sau dinamic necesit vizite repetate la serverul web pentru improsptarea
continutului afisat pe browser. GDI+ poate fi folosit pentru a crea o grafic customizabil
8.cookie si cookieless
Cookie-urile sunt modalitati prin care aplicatiile web care ruleaza pe server pot sa il determine
pe utilizator sa retina inf serverului web, la fiecare cerere HTTP. Informatiile retinute la pot fi
utilizate pt mentinerea starii cu clientul, peste multiple cereri. Cookie-urile sunt trimise clientului
ca parte din headerul HTTP in raspunsul clientului sau sunt trimise in raspunsul serverului.
Cookie-urile pot fi dezactivate. Daca nu se mai folosesc cookies in browserul utilizatorului,
fiecare cerere facuta de utilizator incepe o noua sesiune. Fiecare sesiune care a fost asociata cu
utilizatorul respectiv este pierduta cand se cere o pagina noua.
Cookie
Rezista si dup ace browserul e inchis
Se foloseste ca sa se faca track la sesiune utilizatorului
Sesiunea
Schimb de informatii semipermanent intre doua sau mai multe dispositive
Incepe intr-un moment bine definit si este oprit intr-un moment bine definit
Unul dintre utilizatori trebuie sa salveze sesiune pentru a ramane in istoric
Cache
O arie temporara de stocare unde datele utilizate frecvent se pot salva pentru un acces mai rapid.
Controalele utilizator apar in Toolbox i pot fi clasificate dup funcionalitatea pe care acestea o
ofer. Astfel avem:
Controale de grupare, de tip container: Panel, GroupBox, TabControl,
5. executors
Executors este un obiect intermediar intre un client si taskurile pe care acesta le executa.
Executors gestioneaza ciclul de viata a taskurilor asincrone fara sa fie nevoie sa gestionam
explicit ciclul de viata a unui obiect Thread
6. sectiuni critice
Sectiunile critice sunt zonele de cod unde poate sa apara coliziunea intre threaduri. Avem nevoie
de sectiuni critice daca partea critica este o bucata de cod dintr-o metoda (spre deosebire de
intreaga metoda). Sectiunea critica poate sa fie marcata de cuvantul cheie
synchronized(obiect)Monitorul se achizitioneaza pt obiectul specificat. Daca se sincronizeaza
doar pe sectiuni critice (si nu pe toata metoda) se poate castiga timp pretios la executia
programului. Pt sectiuni critice se pot folosi si obiecte de tip Lock. La sincronizare pe sectiuni
critice, trebuie sa se utilizeze acelasi obiect ca si tinta a sincronizarii
Common Language Runtime CLR este un mediu de executie care furnizeaz un set comun de
servicii pentru proiectele dezvoltate in mediul .NET Framework, indiferent de limbajul de
programare in care aceste programe sunt scrise. Componenetele acestui mediu de execuie sunt:
Class loader-ul, Microsoft Intermediate Language to native compiler (MSIL), managerul de cod,
garbage-colectorul, motorul de securitate, motorul de debug, verificatorul de tipuri, managerul
de exceptii, suportul pentru fire de execuie, marshalerul COM, suport pentru biblioteca de clase
de baz.
5.CLR
Managementul memoriei
Gestiunea tranzactiilor
Si altele
Controlul custom este un control creat nou. Controalele custom afiseaz interfaa grafic prin
apel la un obiect de tip Graphics (din GDI+) in metoda de tratare a evenimentului OnPaint.
Controalele custom sunt derivate direct din clasa Control care furnizeaz un dreptunghi gol care
poate fi desenat. Pentru realizarea desenelor noului control trebuie rescris metoda de tratare a
evenimentului OnPaint a controlului. De asemenea, intr-un control custom se pot suprascrie
proprieti, metode i evenimente ale clasei Control. Clasa Control furnizeaz handlerele pentru
fereastr, gestioneaz rutarea mesajelor i furnizeaz evenimente de mouse si tastatur ca i alte
evenimente produse intr-o interfa grafic.
9 care este modelul prin care se valideaza inputul utilizatorului in aplicatiile web
Validarea inputului utilizatorului se face prin validare pe parte de client si validare pe parte de
server. Prima data se face validarea pe parte de client. Aceasta este dependent de versiunea
browserului, ofera raspuns imediat si reduce ciclurile postback. Validarea pe parte de server
repeta toate validarile facute la client si poate valida impotriva informatiilor stocate.
Dataset este o copie locala a bazei de date de pe sursa de date in memoria aplicatiei. Este utila
pentru ca furnizeaza o referinta la aceste date locale. Seturile de date pot fi cu tip sau fr tip.
Seturile de date cu tip sunt clase generate din fiiere de schem XML (.xsd). n comparaie, un
set de date fr tip nu are o schem nglobat corespunz tor. Setul de date cu tip este o clas
derivat din clasa de baz DataSet. Aceasta motenete toate metodele, evenimentele i
proprietile setului de date, furnizeaz metode, evenimente i proprieti puternic tipizate.
Aceasta nseamn c tabelele i coloanele pot fi accesate cu nume n loc de a folosi metode
bazate pe colectii.
In Java exista distinctie intre task si thread. Taskul este jobul ce trebuie executat, obiect ce
implementeaza clasa Runnable, iar threadul este mecanismul care executa taskul.
Avantaje:
Raspuns rapid pt development
Interogarile pot fi dinamice
Tabelele sunt create automat in clase
Coloanele sunt create autoamat in proprietati
Dezavantaje:
Nu sunt conturate clar nivelurile
Interogarile avansate sunt greu de inteles
Evenimentul este un mesaj trimis de catre un obiect la care programul raspunde prin executarea
unui bucati de cod
Evenimentele rutate
Un eveniment creat de catre un control sa apara intr-un alt control dintre containerel in care sta
controlul sursa
Tipuri: directe, bubbling, tunel
Directe
Controlul este aruncat si poate fi prins doar la controlul de origine
Bubbling
Evenimentele sunt prinse si tratate mai iontai la control iar apoi la containerul care il contine
Tunel
Aruncat mai intai de catre cel mai de sus container si apoi in jos catre fiecare container pana
ajunge la controlul de origine
Sunt definite in pereche cu cate un evniment de tip bubbling
Mai intai trebuie declansat evenim tunel iar apoi cel de tip bubbling.
- dac acest cod nu este deja compilat intr/un DLL, ASP.NET invoc compilatorul i se
genereaz codul intermediar de tip MSIL
La cererile de livrare urmtoare (a doua figur), mediul de execuie incarc i execut imediat
codul MSIL, cod care este deja compilat de la prima cerere de incrcare a paginii web.
Description specific descrierea propriet ii, aceast descriere urmeaz s fie afisat in
fereastra de properties
15 caracterizati fisierul global asax si explicati rolul acestuia intr-o aplicatie web
Fisierul Global.asax. conine cod la nivel de aplicaie care s rspund evenimentelor generate de
ASP.NET.
17 ADO .NET
Framework flexibil care realizeaza accesul la aplicatiile .NET Framework:
Aplicatiile Windows
APlicatiile Web
Obiecte de tip Command -> utilizeaza comenzi SQL sau procedure stocate
Clase din namespace-ul System.Data
18 descrieti mecanismul prin care se pot returna din taskuri. ce clase si interfete trebuie sa
utilizati in acest sens
Interfata Callable: metoda call care trebuie sa returneze o valoare. Obiectele Callable trebuie
apelate de metoda submit a unui ExecutorService. Metoda submit produce un obiect de tip
Future parametrizat cu tipul rezultatului specific returnat din task.
Obiectul Future poate fi interogat cu metoda isDone() pentru a vedea daca metoda call a produs
rezultatul.
Metoda get() a obiectului Future obtine rezultatul produs de metoda call. Daca rezultatul nu este
disponibil, metoda get este de tip blocking (pana cand rezultatul devine disponibil)
Mecanismul synchronized: fiecare obiect are un monitor (lacat). Cand un thread intra in zona de
cod synchronized, threadul achizitioneaza monitorul, si nici un alt thread nu va mai putea intra
intr-o zona synchornized a aceluiasi obiect. Daca primul thread care a achizitionat monitorul
intra intr-o noua zona synchornized a aceluiasi obiect, se tine un contor a numarului de
monitoare achizitionate de thread.
Este vorba de modul in care taskurilor pot lucra in comun pentru atingerea aceluiasi obiectiv:
un task trebuie realizat inaintea altuia.
=>este un mecanism disponibil pentru a realiza persitena datelor ntre cereri succesive->
datele sunt stocate in cadrul controalelor din pagina
Datele sunt salvate in view state a paginii si sunt trimise in raspunsul serverului ctre
client
La procesarea cererii, ASP.NET preia view state din request si il foloseste ca s reseteze
proprietile paginii si a controalelor pe care le afiseaz
Acest mecanism permite ASP.NET s aib date obiecte intre mai multe cereri fr s le
stocheze pe server
Proprietatea Page.ViewState: un dictionar pentru a retine valorile dintre mai multe cereri
ale aceleiai pagini
View state este doar la nivelul aceleiasi pagini si nu intre 2 pagini diferite ale aceleiasi
aplicaii
2. DELEGATE
Prin delegate se creaz metodele care sunt utilizate (delegate) s rspund la eveniment
Sunt multicast -> pot memora referinte ctre mai multe handlere
5.ASSEMBLY
Prin compilarea codului sursa C# se genereaz fisiere executabile care ruleaz pe CLR
=> assembly
CLR ruleaz cod MSIL indiferent de limbajul surs in care este scris programul
Assembly:
2 tipuri de assembly:
program executabil
Manifest-ul assembly-ului:
Versiunea contine: major version, minor version, build number i revision number
6.Executia assembly
MSIL-to-native compiler
Ruleaz executabilul
Debug:
Gestiunea erorilor
Pentru executarea unui cod atunci cand se invoca o comand trebuie creat un
CommandBinding care leag comanda de un handler
Are un designer asociat, deci noul control poate fi realizat in VS, folosind
designerul IDE
ENTITY FRAMEWORK
daca ai deja o baza de date sau vrei sa creezi alta care este independent de alte parti ale
aplicatiei
Entity framework iti pune la dispozitie un model design unde iti poti crea modelul bazei de date
TEMPLATE BINDING
DATA TABLE
1. Proprietatea Rows:
2. Proprietatea Columns:
Modelul logic Construit pe baza modelului fizic. Acesta arata modul in care datele sunt
salvate in tabela
Modelul conceptual - Acesta este mapat pe modelul logic si reprezinta o vedere business
asupra datelor. Prin folosirea lui se evita join complexe
Entity Data Model Esrte modelul conceptual definit in .NET Entity Framework
DATA BINDING
Are 2 proprietati:
EXPRESIILE LAMBDA
Expresiile lambda ne permit s crem instane ale claselor cu o singur metod ntr-un
mod mult mai compact.
dintr-o list de parametri formali, separai prin virgul i cuprini eventual ntre
paranteze rotunde,
Language Integrated Query (sau LINQ, pronuntat scurt link ), este un set de tehnologii
de la Microsoft .NET care furnizeaza un limbaj de interogare similar SQL-ului ce poate fi
inclus in limbajul de programare.
Acesta permite nu doar pentru acces la bazele de date cat si pentru acces la date din orice
sursa.
LINQ permit un set de operatori extensibili care lucreaza peste obiecte, date SQL si
date in format XML
CLASE SI NAMESPACEURI
clasa defineste caracteristica si functionalitatea unei entitati
CONTROLUL BUTTON
PErmite utilizatorului sa efectueze actiunde de click (ex: sa ieste dintr-o fereastra)
Are 2 proprietati:
IsDefault daca acesta este True atunci butonul este setata Default pentru GUI.
Evenimentul se genereaza atunci cand apesi ENTER
IsCancel daca acesta este True atunci butonul este setata Cancel pentru GUI.
Evenimentul se genereaza cand apesi pe ESC.
PROPERTY ATRIBUTES
Este specificat intre []
CONTROALE EXISTENTE
Extend functionalitatea controalelor existente
Controalele User/compuse sunte usor de realizat, dar nu se pot folosi in situatii mai complicate.
Controalele utilizator sunt compilate in mod dynamic, iar in momentul rularii acestea nu pot fi
adaugate in toolbox si sunt reprezentate de un glyph cand sunt adaugate intr-o pagina. Singura
modalitatea prin care poti folosi controlul user in alte aplicatii este prin a pune cate o copie in
fiecare aplicatie unde doresti s ail folosesti
CONTROALE UTILIZATOR
Exist trei modaliti pentru crearea controalelor utilizator: extinderea unor controale
existente, crearea de controale composite si crearea controalelor custom.
Extindem un control existent dac noul control este aproape similar in funcionalitate cu
un control existent. Orice control din Windows Forms poate fi extins derivand din el si
suprascriind proprietati, metode sau evenimente. De asemenea, la noul control derivat se
pot crea noi metode proprii acestuia. LA derivare, se poate utiliza cuvantul cheie base
pentru a face apel la constructorul clasei de baza din constructorul clasei derivate.
Controale composite
Se pot combina controale existente intr-un control composit. Pentru aceasta se foloseste
compunerea claselor sau agregarea. Controalele composite se folosesc atunci cand dorim
s obtinem o functionalitate complex care necesit folosirea a mai mult dect un control
existent. Un control composit afiseaz o interfa grafic reutilizand controale existente.
Un control compozit poate sintetiza proprietati din proprietile controalelor copii si de
asemenea poate trata evenimente produse de controalele copii. Controlul compozit poate
de asemenea s expun proprieti si evenimente custom. Controalele compozite sunt un
30
soi de containere pentru alte controale deoarece pentru crearea lor se extinde clasa
ContainerControl.
Controalele compozite deriv din clasa UserControl. Visual Studio .NET furnizeaz
suport total pentru realizarea designului controalelor compozite.
CONTROALE CUSTOM
Dac nu dorim s extindem controale existente sau s combinm aceste controale in
controale noi putem crea controale noi de la zero. Controalele custom afiseaz interfaa
grafic prin apel la un obiect de tip Graphics (din GDI+) in metoda de tratare a
evenimentului OnPaint. Controalele custom sunt derivate direct din clasa Control care
furnizeaz un dreptunghi gol care poate fi desenat. Pentru realizarea desenelor noului
control trebuie rescris metoda de tratare a evenimentului OnPaint a controlului. De
asemenea, intr-un control custom se pot suprascrie proprieti, metode si evenimente ale
clasei Control. Clasa Control furnizeaz handlerele pentru fereastr, gestioneaz rutarea
mesajelor si furnizeaz evenimente de mouse si tastatur ca si alte evenimente produse
intr-o interfa grafic.
SCENARII DE MAPARE
Single Mapping o entitate din modelul conceptual de mapata catre o singura tabela din
modelul fizic
Mostenire TPH toate tipurile dintr-o ierarhie de mostenire sunt mapate pe o singura
tabela