武汉科技大学net笔记.docx
- 文档编号:24326370
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:16
- 大小:331.29KB
武汉科技大学net笔记.docx
《武汉科技大学net笔记.docx》由会员分享,可在线阅读,更多相关《武汉科技大学net笔记.docx(16页珍藏版)》请在冰豆网上搜索。
武汉科技大学net笔记
.NET最终目标:
就是让用户在任何地方、任何时间,以及利用任何设备都能访问所需信息、文件和程序。
用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收就可以了。
所有后台的复杂实现是完全屏蔽的。
.Net技术分为两个部分
规范:
公共语言架构(CommonLanguageInfrastructure,CLI)
通用类型系统,公共语言规范,通用中间语言和其它的标准文件和规范。
实现:
.NetFramework
.Net框架是一个用于生成、部署和运行XMLWeb服务及其他应用程序的环境。
它包含三个主要部分:
公共语言运行时(CommonLanguageRuntime,CLR)、.Net框架基类库和ASP.NET。
公共语言运行时就是一个虚拟机,它为各种.Net程序提供了一个高性能的、抽象于底层操作系统和硬件的运行时环境。
Web程序:
主要是利用ASP.NET技术开发的B/S模式的动态网站,用户可以使用IE浏览器进行访问。
ASP.Net
ASP.Net是.Net框架的一部分,是基于.Net的公共语言运行时CLR的一种编程框架,用于编写在服务器上运行的功能强大的Web应用程序和Web服务。
ASP.Net和ASP的区别
ASP.Net不是ASP(ActiveServerPage,动态服务器页面)的下一个版本,而且是一种建立在通用语言上的,全新的Web应用程序开发构架。
Asp使用脚本类型语言:
(javascript和vbscript)
特点:
a.服务器端解释执行,运行效率较低;b.脚本代码和html标记混合在一起,不利于脚本代码重用,升级和维护都比较困难。
c.程序的版权不利于控制。
A使用编译型语言:
(c#和)
特点:
a.代码编译后执行,效率高;b.脚本和html标记可以分离,利于web程序的表示层、商业逻辑层、数据库访问层的分离,增强了代码的可重用程度;c.程序的版权可以很好的得到控制。
ASP.NET是编译型而非解释型的
基于Web的两种基本开发模型
C/S模型(Client/Server,客户端/服务器)
B/S模型(Browser/Server,浏览器/服务器)
ASP.Net基于B/S模型
静态网页所谓的静态网页就是在网页中不包含有需要在服务器端执行的代码。
纯HTML(超文本标记语言)语言描述(.html或.htm文件)
人工手动维护HTML代码,编程、调试困难
交互性差
动态网页动态网页是网页中包含有需要在Web服务器执行的代码。
不论以何种语言编写的动态网页,到达浏览器的时候都是HTML代码。
系统内置文件夹是不能从浏览器里直接访问,里面的文件也是无法通过浏览器下载的。
Bin:
用于存放我们网站开发用到的第三方DLL类库文件。
App_Code:
用于存放中间代码文件
App_Data:
这个文件夹用于存放数据库文件。
命名空间的功能
命名空间用于组织.NETFramework提供的几千个类。
使用命名空间可以解决类名冲突问题。
程序语言真正的核心——变量!
!
!
变量是用来代表某内存空间的一个标识,可以利用变量名来将数据保存到与之对应的内存中;反之,也可以通过变量名将与之对应的内存中的数据取出。
装箱和拆箱:
在值类型和引用类型间转换
boolflag=true;
shorta=19;
inti=(int)3.0;
floatf=3.14F;
stringstr="Tom";
boolb1=true;//不是True
intx=0;
if(x){}×
charMyChar=65;//×:
integraltypecannotfitinchar
charMyChar=(char)65;//√:
Castfromintegraltype
inta=MyChar;//√:
implicitconversiontoint
strings1="c:
\myFolder\myFile.txt";//×
strings2="c:
\\myFolder\\myFile.txt";//不易阅读
改进:
C#字符串可以@开头,并用双引号引起来:
√
strings3=@"c:
\myFolder\myFile.txt";
若要在一个用@引起来的字符串中包括一个双引号,则应使用两个双引号:
例如:
"You!
"criedthecaptain.
则用:
@"""You!
""criedthecaptain."
字符串转换为其它型的方法√
×××.Parse()方法--很重要
Sytem.Convert.×××()方法
输出语句:
System.Console.Write();
System.Console.WriteLine();//有换行
输入语句:
System.Console.ReadLine();//读取一行字符
System.Console.Read();//读取一个字符(返回值为int型)
关于输出格式化
inti=123;doublej=123.45;
Console.WriteLine(i,j);×
Console.WriteLine("i={0},j={1}",i,j);//结果i=123,j=123.45
Console.WriteLine("i={0,4},j={1,-7}",i,j);//结果i=︼123,j=123.45︼
Console.WriteLine("j={0,7:
f1}",j);//j=︼︼123.5
Console.WriteLine("j={0:
f1}",j);//j=123.5
//f表示浮点数,1表示小数位数(四舍五入)
Console.WriteLine("i={0,7:
x}",i);//i=︼︼︼︼︼7b
Console.WriteLine("i={0:
x}",i);//i=7b
//x表示16进制数
一维数组
基本用法:
int[]myArr=newint[5];//此时元素初值都为零
int[]myArr=newint[5]{1,3,5,7,9};
int[]myArr=newint[6]{1,3,5,7,9};×个数不一致
int[]myArr=newint[]{1,3,5,7,9};//数组大小可省略
(1).int[]myArr={1,3,5,7,9};//快捷方式√
(2).nt[]myArray;
myArray={1,3,5,7,9};//Error
二维数组
int[,]myArray=newint[4,2];//此时元素初值都为零
int[,]myArray=newint[4,2]{{1,2},{3,4},{5,6},{7,8}};
int[,]myArray={{1,2},{3,4},{5,6},{7,8}};
Array.Rank返回Array数组的秩(维数)
交错数组
声明方式:
int[][]jaggedArr=newint[4][];
初始化方式1:
jaggedArr[0]=newint[6]{1,3,5,7,9,11};
jaggedArr[1]=newint[2]{1,1};
jaggedArr[2]=newint[3]{2,4,6};
jaggedArr[3]=newint[5]{1,0,0,0,1};
ArrayList类是一个可以动态改变数组长度的特殊数组。
优点
支持自动改变大小的功能
可以灵活的删除、插入元素
提供大量的操作方法
局限性
跟一般的数组比起来,速度上差些
如何创建ArrayList
方式1:
ArrayListal1=newArrayList();
//该实例具有默认初始容量,但没有任何元素
方式2:
ArrayListal2=newArrayList(al1);
//用已有的集合类来创建新的ArrayList,新老容量相同
方式3:
ArrayListal3=newArrayList(10);
//用一个整数值来初始化ArrayList容量
重要方法
Add-将单个对象添加到ArrayList的尾部
AddRange-将集合实例添加到ArrayList的尾部
Insert-将单个对象插入到ArrayList的指定索引处
InsertRange-将集合实例插入到ArrayList的指定索引处
Remove(objectobj)-从前(索引0)往后查找,删除找到的第一个和obj相同的元素。
RemoveAt(intindex)-删除索引index对应的元素。
RemoveRange(intindex,intcount)-从索引index开始,删除count个元素。
Clear-从ArrayList中移除所有元素
Contains-确定某元素是否在ArrayList中(true/false)
Sort-对ArrayList或它的一部分中的元素进行排序。
//默认升序
Reverse-将ArrayList或它的一部分中元素的顺序反转。
IndexOf(objectvalue)-从前(索引0)往后查找,返回找到的第一个和obj相同的元素的索引
LastIndexOf(objectvalue)-从后往前(索引0)查找,返回找到的第一个和obj相同的元素的索引
Capacity-获取或设置ArrayList可包含的元素数。
Count-获取ArrayList中实际包含的元素数。
通过页面的IsPostBack属性可以判断*.aspx页面是否为回传给服务器的页面。
Web服务器验证控件
ServerValidate事件:
当CustomValidator验证ControlToValidate属性的值时发生。
protectedvoidCustomValidator1_ServerValidate
(objectsource,ServerValidateEventArgsargs)
{
//args.Value获取来自要验证的输入控件的字符串值
//如果输入有效,则将args.IsValid设置为true;
//如果输入无效,则将args.IsValid设置为false,此时CustomValidator控件将显示其ErrorMessage属性的文本。
}
Button按钮的PostBackURL跳转功能在CustomValidator验证之前就执行了!
如果要用Button跳转则:
应去掉PostBackURL属性,然后在其Click事件中添加如下代码:
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(Page.IsValid)Response.Redirect("跳转的URL");
}
Button按钮有个CassesValidation属性,用来设置该按钮是否激发验证,true时激发,false不激发验证事件。
Request对象使服务器端能够在程序中读取客户端的信息以及获取在Web请求的同时发送给服务器端的数据,它是Page对象的成员之一,所以在程序中不用实例化就可以使用。
浏览器获取数据(Get、Post)
获取客户端信息、服务器环境变量
Response对象的主要作用:
输出数据给客户端。
是否启用缓冲,设置或取得HTTP的输出字符编码,动态地向客户端输出内容,将客户端重定向到新的URL等。
页面重定向到指定URL:
Response.Redirect("");
Server对象包含了与服务器相关的信息。
例如:
服务器端机器的名称,返回应用程序中一个文件的绝对径。
Response.Redirect()和Server.Transfer()区别
执行过程:
1、浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址
2、浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件
切换对象:
1、Response.Redirect可以切换到任何存在的网页。
2、Server.Transfer只能切换到同目录或者子目录的网页。
数据保密:
1、Response.Redirect后地址会变成跳转后的页面地址。
2、Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。
具有数据保密功能。
传递的数据量(网址后附带的参数):
1、Response.Redirect能够传递的数据以2KB为限。
2、传递的数据超过2KB时,务必使用Server.Transfer。
Session对象代表服务器与客户端建立的会话
从一个客户端打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个Session(会话)。
服务器端
Session对象可以实现在一个会话期间的多页面间的数据共享/传递。
Application对象需要使用添加Global.asax多个用户间传递数据,由于存储在该对象中的数值所有用户读取,因此特别适合在多个用户之间传递信息。
其生命周期为:
一旦建立了Application对象,它就会持久地存在,直到关闭WEB服务器服务。
服务器端
ViewState是指ASP.net中用来保存web服务器控件在回传时状态值的一种机制。
客户端
ASP.NET数据处理控件:
数据源控件+数据绑定控件.
数据源控件可以使用不同类型的数据源,如数据库、XML文件或中间层的业务对象,同时对数据访问、数据存储和数据所执行的一些操作进行了封装.
数据绑定控件通过DataSourceID属性就可以与一个数据源控件进行关联,这使得开发人员只需少量代码或无需代码就可以将数据访问添加到ASP.NET网页中。
数据绑定控件
ASP.NET成员和角色管理
成员资格管理结构与三层架构之间相似之处:
登录控件相当于界面表示层,主要负责应用程序的外观.
成员资格管理API相当于业务逻辑层,利用它可实现不同应用需求.
成员资格管理提供程序相当于数据访问层,负责与数据库交互,如果要将应用迁移到其他数据库,只需创建和应用自定义成员资格提供程序。
表示层
业务层
数据层
站点地图是一个名为Web.sitemap的XML文件,它用于描述站点的逻辑结构;
Web.sitemap一般位于应用程序的根目录中;
系统会自动选取Web.sitemap文件作为站点地图;
在使用站点地图管理页导航后,如果要添加或移除页面,则只须修改站点地图而不必修改所有网页的超链接。
ASP.NET母版页可以创建具有一致外观的网站。
母版页可以为应用程序中的所有页(或一组页)定义所需的外观和标准行为,而网站要显示的各个内容页则嵌套在母版页中。
开发人员利用母版页技术可以将网站的主框架和内容分开处理,主框架部分由母版页定义。
内容页使用母版页并绑定到占位符控件上从而用自己的内容替换占位符
母版页优点
使用母版页可以集中处理页的通用功能,以便可以只在一个位置上进行更新。
使用母版页可以方便地创建一组控件和代码,并将结果应用于一组页。
例如,可以在母版页上使用控件来创建一个应用于所有页的菜单。
通过指定控制占位符控件的呈现方式,母版页可在细节上控制最终页的布局。
母版页提供一个对象模型,使用该对象模型可以从各个内容页自定义母版页。
主题(Theme)存放在站点的App_Themes文件夹中
Web部件是一组集成控件,用于创建网站使最终用户可以直接从浏览器修改网页的内容、外观和行为。
数据提供程序也称为数据供应器、数据提供者
用于连接应用程序和数据源
提供对底层数据源的访问,包括四个主要对象:
Connection用来实现与数据库的连接,包括SqlConnection和OleDbConnection等对象
Command用来对数据库执行SQL语句,包括OleDbCommand和SqlCommand等对象
DataReader从数据库中读取数据,实现了对数据源的只读访问采用连接的、只向前的、游标方式的访问
DataAdapter它的作用就是把来自特定数据源的信息调整为关系型数据格式,以适应DataSet的需要。
它的功能很强大,不但负责把DataSet与关系型数据源联系起来,而且能够自动改变DataSet的数据结构。
SqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter等可以连接到MSSQLServer。
OleDbConnection、OleDbCommand、OleDbDataReader和OleDbDataAdapter等可以连接到所有基于OLEDB提供的数据库
对于SQLServer而言,使用第二套类库在性能上优于第一套。
类成员访问控制权限
private:
私有成员,在类的内部才可以访问。
protected:
保护成员,该类内部和继承类中可以访问。
public:
公共成员,完全公开,没有访问限制。
internal:
在同一命名空间内可以访问。
在C#当中,一般的说法是,子类继承了父类的所有成员(包括私有成员),但无法访问私有成员
C#不支持多继承
简答题
1.ADO.NET的工作原理
访问数据库时由Connection对象负责连接数据库;由Command对象下达SQL命令;DataAdapter使用Command对象在数据源中执行SQL命令,负责在数据库与DataSet之间传递数据;内存中的DataSet对象用来保存所查询到的数据记录;另外Fill命令用来填充数据集DataSet,Update命令用来更新数据,delete命令用来删除数据,insert命令用来添加数据,select命令用来刷新数据
2.简述类与对象的关系
答:
对象是客观世界中的事物或人们头脑中的各种概念在计算机程序中的抽象表示,既是现实世界中个体的数据抽象模型,又是面向对象程序设计的基本元素。
类是对具有相同属性和相同行为的一组相似对象的集合。
类是用来创建对象的模板,它为属于该类的全部对象提供了统一的抽象描述,其内部包含状态描述和方法定义,而对象只是类的一个具体实例。
“类”看作某种事物的抽象表示,而把“对象”看作该事物的可用实例,每个实例都是其类的一个精确而又不同的副本。
3.简述编程体系结构中的客户机/服务器(C/S)模式
客户端/服务器体系结构采用服务器与工作站通过局域网连接的结构方式,数据库应用系统软件分成客户端(应用程序)与服务器端(SQL程序)。
客户端工作站运行用户的应用程序;服务器端运行数据库管理程序。
客户端与服务器端通过网络连接,客户端工作站通过专门的程序将数据处理请求通过网络发给服务器,由数据库中的管理程序在服务器中完成数据处理工作,然后将结果返回给客户端。
4.简述编程体系结构中的浏览器/服务器(B/S)模式
浏览器/Web应用服务器/数据库服务器体系结构,采用Web浏览器(如IE浏览器)作为客户端应用软件,采用网页发布软件(如IIS)为Web应用服务器,再加上数据库服务器(如SQLServer),有人将它简称为浏览器/服务器(Browser/Server,B/S)结构。
由于几乎每台计算机都安装Web浏览器,对于用户来说,B/S结构的数据库应用系统不需要安装其它应用软件即可使用,极大的方便了用户,可以在互联网上传播,因而目前得到了广泛的使用。
5.什么是公共语言运行时
公共语言运行时(CommonLanguageRuntime)。
它是所有.NET应用程序运行时支持环境,类似虚拟机,负责应用程序的资源请求管理(例如内存分配和垃圾收集),使应用和底层操作系统不直接交互,能方便应用程序的部署。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉 科技大学 net 笔记