ASP.NET Flashcards

1
Q

Ce este un framework ?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Ce se afla in wwwroot ?

A

Continut non-programatic (client-side CSS, Javascript, imagini).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Ce se gaseste intr-un fisierl .cshtml ?

A

Markup Razor, HTML si cod C#.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ce se gaseste intr-un fisierl .cshtml.cs ?

A

Cod C# pentru a gestiona evenimentele la nivel de pagina.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Ce se afla in Program.cs ?

A

Punctul de start al aplicatiei.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Ce face fisierul suport _layout ?

A

Configureaza elementele comune de UI (bara de navigare, informatia despre copyright din footer)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

De la ce vine ASP ?

A

Active Server Pages, pagini web dinamice, de cele mai multe ori contectate la o baza de date.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Ce este ASP.NET ?

A

O unealta Microsoft C# pentru dezvoltarea de aplicatii web.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ce este pagina layout?

A

Pagina Layout este un sablon pentru toate paginile care fac referire la aceasta (paginile de continut).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

De ce este nevoie de pagina layout?

A

Website-urile au continut care se repeta intr-un numar mare de pagini (sau un toate paginile), iar pentru a nu incalca principiul DRY (Don’t Repeat Yourself).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ce sunt paginile de continut?

A

Sunt paginile care fac referire la Pagina Layout. Ele se numesc pagini de continut deoarece nu sunt pagini web complete, ci au doar continutul care variaza, in functie de pagina.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Ce este appSettings.json?

A

Fisier care contine date de configurare, precum stringuri de conexiune

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Ce se intampla cand folosim simbolul @ ?

A

Se trece la Markup Razor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Ce face @page?

A
  • trebuie sa fie prima directiva din fisier
  • permite ca pagina sa gestioneze requests
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Ce face @model ?

A
  • specifica modelul transmis paginii Razor
  • reprezentat de clasa derivata din PageModel
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Ce este clasa PageModel ?

A

Este clasa de baza reprezentand o Pagina.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Ce face clasa PageModel ?

A

Face o separare clara intre stratul UI (fisierul de vizualizare .cshtml) si logica de procesare a aplicatiei.

18
Q

Ce sunt metodele handler?

A

Metode care ajuta la procesarea request-urilor ( On + un verb HTTP (Get, Post, Put, Delete)).

19
Q

Ce beneficii are clasa PageModel ?

A
  • complexitate redusa, facandu-l usor de intretinut.
  • flexibilitate crescuta pentru echipe (un membru poate lucra la stratul UI, iar altul la logica de procesare a paginii)
20
Q

Ce rol are PageModel ?

A
  • de a primi input de la pagina
  • se asigura ca operatiile solicitate asupra modelului (datelor) sunt aplicate (gen data retrieval din baza de date, stergerea datelor etc)
  • determina vizualizarea corecta de utilizat pentru pagina rezultata
21
Q

Ce inseamna ca HTTP este stateless ?

A

Fiecare request dintre client si server este tratat independent, fara ca serverul sa pastreze informatii despre starea anterioara a clientului. (de ex. fac un request care schimba ceva dar HTTP nu o sa tina minte acest lucru)
De aceea se folosesc cookies, sessions si transmitere de date de stare in cadrul fiecarui request.

22
Q

Ce este IActionResult ?

A

Un tip de return pentru o metoda handler.
Se foloseste pentru a afisa raspuns la request-urile HTTP. (OKResult,NotFoundResult etc)

23
Q

Ce face RenderBody() ?

A

Placeholder pentru a afisa continutul specific fiecarei pagini (ca si yield(‘content’) din Laravel).

24
Q

Ce este ViewData ?

A

Este o proprietate a PageModel, un dictionar cu cheie-valoare pentru a transmite date la un View.

ViewData[‘Nume’] = ‘Maria’;

25
Q

Ce este ViewBag ?

A

Un wrapper pentru View data, la care se folosesc proprietati in loc de cheie de tip string.

ViewBag.Name = ‘Maria’;

26
Q

Ce este Task ?

A

Un tip de return (obiect Task) pentru operatiile/actiunile asincrone. (nu returneaza nimic)

27
Q

Ce inseamna asincron ?

A

O metoda e asincrona atunci cand se desfasoara pe un alt thread decat cel principal, pentru a nu il bloca.

28
Q

Ce sunt entitatile ?

A

Un model conceptual al bazei de date (EDM - Entity Data Model)

29
Q

Care sunt abordarile pentru a Creea un Model ?

A
  • generarea unui model dintr-o baza de date existenta
  • scrierea de mana a claselor care reprezinta modelul (cum faceam noi cand cream clasa si scriam proprietatile)
30
Q

Care sunt cele 5 Componente EF ?

A
  1. Clasa DbContext
  2. Clasa derivata din DbContext
  3. Entity seturi DbSet<T></T>
  4. DbChangeTracker
  5. Adnotari
31
Q

Ce face metoda SaveChanges() ?

A

Salveaza in baza de date modificarile facute in context. Returneaza entitatile afectate.

32
Q

Ce este Entity Framework ?

A

Este un ORM (Object Relational Mapper) Framework.

33
Q

Ce este DbContext ?

A

Este o clasa fundamentala din EF care are rolul de a interactiona cu baza de date, performa operatii CRUD si a mapa entitatile din baza de date cu obiectele din .NET.

Basically e ca un bridge intre aplicatia mea .NET si baza de date. Cu ajutorul ei pot interactiona cu baza de date.

(adica un DbSet<T> este un obiect in .NET care de fapt e o entitate(un tabel) din baza mea de date)</T>

34
Q

Ce sunt instantele DbContext ?

A

Pentru a folosi clasa DbContext la operatii sau interactiuni cu baza de date, trebuie sa cream o instanta a clasei DbContext de fiecare data cand avem un HTTP Request (cand vrem sa interactionam/sa schimbam ceva la database.)

O instanta este ca o sesiune cu baza de date, care trebuie creata cand vrem sa interactionam cu baza de date si trebuie disposed cand s-a efectuat operatia dorita de noi.

(ca si cum creezi o instanta(obiect) in Java dupa o clasa(blueprintul), ca altfel nu poti folosi la nimic clasa, daca e doar un blueprint.)

35
Q

Ce este contextul ?

A

Contextul reprezinta o instanta a bazei de date pe timpul duratei de viata a unui HTTP Request. Contextul gestioneaza operatiile bazei de date pentru acel request.

basically daca vrei sa faci ceva la baza de date, sa schimbi sau sa interactionezi cu ea, trebuie creata o instanta sau “context”.

36
Q

Care sunt starile pe care le poate lua un obiect in ChangesTracker?

A

Detached - cand obiectul exista dar nu se face tracking pe el inca - asta se intampla cand obiectul e nou creat dar inca nu e adaugat la obiectul context

Added - obiectul e nou si a fost adaugat la obiectul context, dar savechanges() nu a fost apelata

Unchanged - obiectul nu a fost modificat de cand a fost adaugat in context sau de la ultimul apel al savechanges()

Modified - o proprietate a obiectului a fost modificata iar savechanges() nu a fost apelata

Deleted - obiectul a fost sters/ marcat pentru stergere

37
Q

Care sunt adnotarile ?

A

Key
Foreign Key
Required
NotMapped
ConcurrencyCheck
Table/Column
DatabaseGenerated

38
Q

Ce este Navigation Property ?

A

E un concept ORM, o proprietate intr-o clasa, ca o scurtatura care ne ajuta sa navigam de la un obiect la altul, la nivel de cod. E pentru a exprima relatii intre obiecte sau entitati, ca un fel de legatura.

In loc sa facem joinuri manual la tabel pentru a gasi informatii, putem naviga prin obiectul model folosind proprietati. Basically ne ajuta sa interogam date sau sa accesam anumite date mai usor.

39
Q

Care sunt tipurile de Navigation Property ?

A

Collection Navigation Property: relatie cu mai multe entitati (List, ICollection, HashSet)
public List<Book> Books { get; set; }</Book>

Reference Navigation Property: relatia cu o singura entitate
public Author Author { get; set; }

40
Q

Ce este Migrarea ?

A

Un mod prin care putem actualiza baza de date (cand lucram la o aplicatie, modelul se schimba frecvent si nu mai este sincronizat cu baza de date)

41
Q
A