Tải bản đầy đủ (.pptx) (73 trang)

Slide bài giảng .NET ĐHSP Huế

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (252.4 KB, 73 trang )

Công nghệ .NET
(Microsoft .Net Technology)

(30 tiết)


Nội dung









Bài 1: Nhìn qua về công nghệ .NET
Bài 2: Ngôn ngữ lập trình C# và VB.NET
Bài 3: Lập trình WinForms với .NET
Bài 4: Lập trình WebForms với ASP.NET
Bài 5: Lập trình Database với ADO.NET
Bài 6: Dịch vụ web (Webservices)
Bài tập


Bài 1

Nhìn qua về công nghệ .NET


Công nghệ .NET là gì?




Theo Microsoft:
Microsoft .NET là một họ đầy đủ sản phẩm được xây dựng theo tiêu chuẩn công nghiệp
và các chuẩn Internet. Nó cung cấp cho từng vấn đề trong phát triển , quản lý , sử dụng
các dịch vụ XML.



Định nghĩa hình thức:
.NET là một tập hợp các công nghệ phần mềm của Microsoft cho phép kết nối thông tin ,
mọi người , các hệ thống, các thiết bị , …thông qua công nghệ Web .


Công nghệ .NET là gì? (tiếp)


Có 4 vấn đề trong công nghệ .NET, gồm:

1.

Khách thông minh (Smart Clients) – Điện thoại thông minh (Smart phones),
Thiết bị cầm tay (PDAs), Máy gia dụng thông minh (Smart Appliances)

2.

Các dịch vụ web (Web Services – UDDI, SOAP)

3.


Các Servers (NET Standard Server, .NET Web Server, Windows Server…)

4.

Các công cụ phát triển (Development Tools – Visual studio .net, ASP .net,
ADO .net)


Công nghệ .NET là gì? (tiếp)



Microsoft .NET kết nối các chuyên gia IT tạo ra một lượng lớn các kinh nghiệm cá nhân
về .NET, sử dụng các tiêu chuẩn công nghiệp và công nghệ trong khuôn khổ .NET
Framework


.NET Framework là gì?


.Net Framework là một phần không thể thiếu của Windows. Nó hỗ trợ việc build và run
các ứng dụng, các dịch vụ web XML được phát triển trong môi trường .NET



.Net Framework làm việc kiểu như J2EE của java.


.NET Framework là gì? (tiếp)



.Net framework bao gồm:








Common Language Runtime (CLR)
Visual Studio .net
.Net Framework Classes (Class Libraries)
ASP.net
ADO.net
Hỗ trợ nhiều ngôn ngữ object-oriented, Markup, Scripting,…


.NET Framework là gì? (tiếp)
Thông số về Common Language

System.Web
Web Services

System.WinForms
Web Forms

Controls

ASP.NET Application Services


Drawing

Windows Application Services

Data and System Base Classes
ADO.NET

XML

SQL

Threading

IO

Net

Security

Service Process

Common Language Runtime
Security Engine

Thread Support

Exception Handler

IL to Native Compiler


Type System

Garbage Collector


Common Language Runtime



CLR cung cấp một môi trường run-time, trong đó quản lý việc thực hiện code và cung
cấp các services.



Cung cấp khả năng tương tác giữa ngôn ngữ lập trình và các xử lý ngoại lệ của ngôn
ngữ.



Cải thiện các chương trình trong việc việc trình diễn, khả năng mở rộng, và sử dụng
những yếu tố sẵn có.


Visual Studio .NET



Là một IDE (Integrated development environment) bao gồm một tập đầy đủ các công cụ phát triển
các các loại ứng dụng: desktop applications, ASP Web applications, XML web services, và mobile

services.



Các ngôn ngữ lập trình gồm C++, C#, VB.NET, F#



Các phiên bản của Visual Studio .NET phát triển tương ứng với các phiên bản của .NET
Framework


Các lớp trong Microsoft .Net Framework








Net framework cung cấp một API cho tất cả các ngôn ngữ lập trình trong gói NET.
Tất cả các thư viện là Object -Oriented
Thư viện được mở rộng như các API của java
Tăng hiệu suất phát triển bằng cách giảm số lượng các API cần phải tìm hiểu
Cho phép kế thừa các ngôn ngữ và gỡ rối
Cho phép tạo ra các ứng dụng bảo mật


ASP.NET




Cung cấp các thư viện, dịch vụ cho phép tạo, phát triển và thực hiện các ứng dụng
Web (Web Applications) và các dịch vụ Web (Web Services).



Với việc hỗ trợ của Web Forms và các GUI, việc sử dụng ASP.net để thiết kế các ứng
dụng web thuận lợi, dễ dàng hơn rất nhiều.



ASP.NET thường sử dụng ADO.net để truy xuất cơ sở dữ liệu.


ADO .NET



Là một tập các lớp cho phép làm việc với các cơ sở dữ liệu quan hệ trong khuôn khổ
.NET framework



ADO.NET có các lớp cho phép kết nối và truy vấn với nhiều loại CSDL khác nhau như:
Oracle, Sybase, Informix, DB2, Microsoft SQL Server, Ingres, PostgreSQL, MySQL, YardSQL, mSQL, và tất cả các loại ODBC tương thích khác.




ADO.NET hỗ trợ việc truy xuất dữ liệu từ HTTP


Tại sao nên dùng công nghệ .net?





Có Common Language Runtime ( CLR )



Khả năng hỗ trợ cho các thiết bị thông minh như điện thoại di động,
PDA và các thiết bị di động khác.






Hỗ trợ từ Microsoft thông qua .Net Framework
.Net cung cấp các thư viện chung cho tất cả các ngôn ngữ, do đó
không cần phải học quá nhiều API.

Được thiết kế và định nghĩa theo các chuẩn Web cho phép giải quyết
các bài toán với giải pháp tốt nhất.
Cho phép dễ dàng thực hiện thiết kế các dạng ứng dụng windowform , web-form
Tăng cường tính bảo mật với các dịch vụ web và các giao thức
Với ADO.NET việc quản trị cớ sở dữ liệu rất dễ dàng



Bài 2

Ngôn ngữ lập trình VB.NET và C#


Giới thiệu




VB.NET và C# là 2 trong các ngôn ngữ lập trình được tích hợp trong bộ Microsoft Visual Studio
Về cú pháp, VB.NET theo cú pháp của Basic, C# theo cú pháp của C
Cả hai đều cho phép dễ dàng phát triển các ứng dụng (cả WinForm và WebForm) sử dụng
công nghệ .NET


Cơ bản về VB.NET và C#
Cấu trúc chương trình

Imports System

Namespace Hello
   Class HelloWorld
      Overloads Shared Sub Main(ByVal args() As String)
         Dim name As String = "VB.NET"
          If args.Length = 1 Then name = args(0)
          Console.WriteLine("Hello, " & name & "!")
      End Sub

   End Class
End Namespace

using System;

namespace Hello {
   public class HelloWorld {
      public static void Main(string[] args) {
         string name = "C#";
         if (args.Length == 1)
            name = args[0];
         Console.WriteLine("Hello, " + name + "!");
      }
   }
}


Cách viết chú thích

' Single line only

// Single line
/* Multiple

REM Single line only

line */
/// <summary>XML comments on single line</summary>

''' <summary>XML comments</summary>


/** <summary>XML comments on multiple lines</summary> */


Các kiểu dữ liệu

Các kiểu giá trị (Value Types)

Boolean

bool

Byte, SByte

byte, sbyte

Char

char

Short, UShort, Integer, UInteger, Long, ULong

short, ushort, int, uint, long, ulong

Single, Double

float, double

Decimal


decimal

Date (alias of System.DateTime)

DateTime (not a built-in C# type)

structures

structs

enumerations

enumerations

Casckieeru tham chiếu (Reference Types)

objects

objects

String

string

arrays

arrays

delegates


delegates


Khởi tạo biến (Initializing)

Dim correct As Boolean = True

bool correct = true;

Dim b As Byte = &H2A 'hex or &O52 for octal

byte b = 0x2A; // hex

Dim person As Object = Nothing

object person = null;

Dim name As String = "Dwight"

string name = "Dwight";

Dim grade As Char = "B"c

char grade = 'B';

Dim today As Date = #12/31/2010 12:15:00 PM#

DateTime today = DateTime.Parse("12/31/2010 12:15:00 PM");

Dim amount As Decimal = 35.99@


decimal amount = 35.99m;

Dim gpa As Single = 2.9!

float gpa = 2.9f;

Dim pi As Double = 3.14159265

double pi = 3.14159265; // or 3.14159265D

Dim lTotal As Long = 123456L

long lTotal = 123456L;

Dim sTotal As Short = 123S

short sTotal = 123;

Dim usTotal As UShort = 123US

ushort usTotal = 123;

Dim uiTotal As UInteger = 123UI

uint uiTotal = 123; // or 123U

Dim ulTotal As ULong = 123UL

ulong ulTotal = 123; // or 123UL



Kiểu NULL (Nullable Types)

Dim x? As Integer = Nothing

int? x = null;

Kiểu không định danh (Anonymous Types)

Dim stu = New With {.Name = "Sue", .Gpa = 3.4}

var stu = new {Name = "Sue", Gpa = 3.5};

Dim stu2 = New With {Key .Name = "Bob", .Gpa = 2.9}

var stu2 = new {Name = "Bob", Gpa = 2.9};

Biến không xác định kiểu

Dim s = "Hello!"

var s = "Hello!";

Dim nums = New Integer() {1, 2, 3}

var nums = new int[] { 1, 2, 3 };

Dim hero = New SuperHero With {.Name = "Batman"}


var hero = new SuperHero() { Name = "Batman" };

Lấy thông tin về kiểu (Type Information)

Dim x As Integer

int x;

Console.WriteLine(x.GetType())

' System.Int32

Console.WriteLine(x.GetType());

// System.Int32

Console.WriteLine(GetType(Integer)) ' System.Int32

Console.WriteLine(typeof(int));

// System.Int32

Console.WriteLine(TypeName(x))

Console.WriteLine(x.GetType().Name); // Int32

' Integer

Dim c as New Circle


Circle c = new Circle();

isShape = TypeOf c Is Shape ' True if c is a Shape

isShape = c is Shape;

isSame = o1 Is o2 // True if o1 and o2

isSame = Object.ReferenceEquals(o1, o2)

reference same object


Chuyển đổi kiểu (Type Conversion / Casting)

Dim d As Single = 3.5

float d = 3.5f;

Dim i As Integer = CType(d, Integer) ‘set to 4

i = Convert.ToInt32(d);

i = CInt(d) ' same result as CType

int i = (int)d;

// Set to 4 (rounds)

// set to 3 (truncates decimal)


i = Int(d) ' set to 3 (Int function truncates the decimal)

Dim s As New Shape

Shape s = new Shape();

Dim c As Circle = TryCast(s, Circle) ' Returns Nothing

Circle c = s as Circle; // Returns null
if type cast fails

if type cast fails
c = DirectCast(s, Circle) ' Throws InvalidCastException
if type cast fails

c = (Circle) s;

// Throws InvalidCastException
if type cast fails


Hằng

Const MAX_STUDENTS As Integer = 25

const int MAX_STUDENTS = 25;

ReadOnly MIN_DIAMETER As Single = 4.93


readonly float MIN_DIAMETER = 4.93f;


Kiểu liệt kê (Enumerations)

enum Action {Start, Stop, Rewind, Forward};

Enum Action
Start
[Stop] ' Stop is a reserved word
Rewind
Forward
End Enum

enum Status {Flunk = 50, Pass = 70, Excel = 90};

Enum Status
Flunk = 50
Pass = 70
Excel = 90
End Enum

Dim a As Action = Action.Stop

Action a = Action.Stop;

If a <> Action.Start Then _

if (a != Action.Start)


Console.WriteLine(a.ToString & " is " & a)

Console.WriteLine(Status.Pass)

' "Stop is 1"

Console.WriteLine((int) Status.Pass); // 70

' 70

Console.WriteLine(Status.Pass.ToString())

Console.WriteLine(a + " is " + (int) a); // "Stop is 1"

' Pass

Console.WriteLine(Status.Pass);

// Pass


×