Compare commits
1 Commits
master
...
1_WebAppli
Author | SHA1 | Date |
---|---|---|
jason.zhu | 9464c5fb30 |
|
@ -2,4 +2,6 @@
|
|||
|
||||
This is a study practice repository following [Essential ASP.NET Web Forms Development: Full Stack Programming with C#, SQL, Ajax, and JavaScript](https://learning.oreilly.com/library/view/essential-aspnet-web/9781484257845/)
|
||||
|
||||
Markdown files within notes are majorly concept summary, practice will be executed within `/src` folder.
|
||||
|
||||
Note: `.gitignore` file is generated by Gitea/GitHub.
|
|
@ -2,8 +2,98 @@
|
|||
|
||||
## 1.1 Introduction
|
||||
|
||||
Overview of this chapter:
|
||||
* Client-server model.
|
||||
* .NET Framework
|
||||
* ASP.NET and C# Programming
|
||||
* Visual Studio
|
||||
* (Practice) How to start a new ASP.NET Web Application project
|
||||
|
||||
## 1.2 Client-Server Model
|
||||
|
||||
Client-Server Model distributes processing btw:
|
||||
* **server**: provider of resources/services
|
||||
* e.g. of Web server app: *Internet Information Service (IIS)*, *Apache HTTP Server*, *Oracle iPlanet Web Server*
|
||||
* **client**: users of resources
|
||||
* e.g. of Web client app: *Microsoft Internet Explorer*, *Google Chrome*.
|
||||
|
||||
### Web Page: Static or Dynamic
|
||||
|
||||
* Static web page: do not change for all requests.
|
||||
* Before HTML5, `.html/.htm` files are static web pages.
|
||||
* Dynamic web page:
|
||||
*
|
||||
|
||||
![Processing cycle of a static Web page](imgs/493603_1_En_1_Fig2_HTML.jpg)
|
||||
Processing cycle of a static Web page:
|
||||
1. Client requests a Web page from a Web server via *HTTP request*. content of request:
|
||||
1. Web page
|
||||
2. IP of server & client
|
||||
2. After server received HTTP request, it
|
||||
1. locates desired web page file.
|
||||
2. Then attach HTML file to HTTP response.
|
||||
3. send back to client
|
||||
|
||||
![Processing cycle of a dynamic Web page](imgs/493603_1_En_1_Fig3_HTML.jpg)
|
||||
Processing cycle of a dynamic Web page:
|
||||
1. Client requests a Web page from a server via an HTTP request. content of request:
|
||||
1. name of dynamci Web page (e.g. `Display_Products.aspx`)
|
||||
2. state of Web page controls (e.g. name in text box)
|
||||
2. After server received HTTP request
|
||||
1. Check file exentention is `.aspx`, then pass processing control to the business logic of the server app (i.e. ASP.NET & C# code)
|
||||
2. If business logic requies service from db (e.g. reading, inserting), the app server pass processing control and related args to db server.
|
||||
3. After db server finish execution, it pass control back to app server
|
||||
4. App server pass data/response back to web server
|
||||
5. Web server formats HTML based on app server's work
|
||||
6. Web server attach HTML to HTTP response
|
||||
7. Web server sends response back to client
|
||||
|
||||
![Organization of the .NET Framework](imgs/493603_1_En_1_Fig4_HTML.jpg)
|
||||
This is a full backend service processing cycle
|
||||
|
||||
## 1.3 .NET Framework
|
||||
|
||||
* **.NET Framewok** = Windows-based software dev and execution framework
|
||||
* It consists of
|
||||
* **Framework Class Library (FCL)**: a large library of classes to create Windows desktop app, or Web app using VB, VC++, VC#, etc.
|
||||
* **Common Language Runtime (CLR)**: environment where all .NET app executed. (Execution logic shown below)
|
||||
|
||||
![Organization of the .NET Framework](imgs/493603_1_En_1_Fig4_HTML.jpg)
|
||||
|
||||
## 1.4 OOP
|
||||
|
||||
A class can contain *properties* & *methods* and can handle *events*.
|
||||
* **event** = end-user actions or other things that occur in time.
|
||||
* properties, methods, events are all **members** of the class
|
||||
|
||||
### 1.4.1 Class and Objects
|
||||
|
||||
2 types of classes in .NET Framework:
|
||||
* **non-static class**: contain non-static members that we can use, ONLY after we initialize an object from it.
|
||||
* **static class**: contain static members that can be directly utilized w/o initialization
|
||||
|
||||
Class diagram (e.g. shown below, used to describe class in the book) include:
|
||||
* name of class
|
||||
* **namespace** of the class resides in: contain classes that provide specific functionality or specialized tpe
|
||||
* selected **properties**, **methods**, **events**
|
||||
* **event handler methods** are omitted in diagram in this book
|
||||
* event handler methods = handler methods that raised by **event**; begin with "On", end with event name.
|
||||
|
||||
### 1.4.2 Properties
|
||||
|
||||
Properties:
|
||||
* = data of class
|
||||
* can be read from (via `get` method) and written to (via `set` method)
|
||||
|
||||
### 1.4.3 Methods
|
||||
|
||||
Omitted
|
||||
|
||||
### 1.4.4 Events
|
||||
|
||||
Events are things that happened
|
||||
* Raised by user action or sth in future.
|
||||
* When event is raised, methods are invoked to handle it.
|
||||
* e.g. .NET Page class raises a **Load** event every time client reload web page.
|
||||
* Events can be static or non-static for different class.
|
||||
|
||||
#### 1.4.5 Encapsulation
|
Binary file not shown.
After Width: | Height: | Size: 110 KiB |
Loading…
Reference in New Issue