C#基础知识_学习笔记(4).doc_第1页
C#基础知识_学习笔记(4).doc_第2页
C#基础知识_学习笔记(4).doc_第3页
C#基础知识_学习笔记(4).doc_第4页
C#基础知识_学习笔记(4).doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.导航控件:站点地图控件:SiteMapPath菜单控件:Menu树形控件:TreeView:可以是一个XML文件,然后加载它2.登陆控件:Login:登陆页面CreateUserWizard:创建用户控件:ChangePassword:修改密码控件属性:MembershipProvider:属性中定义的成员资格提供程序来更改该网站的成员资格提供程序数据存储区中存储的密码,;DiaplayUserName:设置为True时候,则可以允许页面进行匿名访问,并可以在其它用户登陆的时候修改本用户的密码。PasswordRecovery:常用于自助找到棉麻,可以在验证身份成功之后,将密码发送到指定的邮箱中,但在使该控件前,需要对Web.config有所配置如下:在Web.config文件,在System.web的同级节点创建节点,具体代码参考数目3.调试和异常处理应用程序跟踪:在ASP.NET应用程序中,可以通过配置Web.config文件按,对单个页面或整个Web应用程序的所有页面进行跟踪。Web应用程序跟踪分为:页面级跟踪和应用程序跟踪;跟踪就是对Web程序中变量的值和代码执行情况进行底层的了解,通过跟踪查看器1)如果要在单个页面中启用页面级跟踪,可以在其HTML文件中加入代码如下:/启用页面跟踪即是HTML文件的开头则结果会显示在:页面的尾部;更详细的设置采用TraceMode属性:SortByCateGory和我SortByTime两种格式:2)应用程序级跟踪:默认情况下,ASP.NET应用程序只能进行本地应用程序级别的跟踪,而不能通过远程的文件查看服务器上运行的应用程序状态,但可以通过更改Web.config文件将Trace节点(添加)的LocalOnly改为false启用跟踪/指定在服务器上存储跟踪的请求数目为10/只能通过跟踪实用工具访问跟踪输出/以处理跟踪的顺序来显示跟踪信息/跟踪查看器不限于本地服务器,也可以是远程服务器3)应用级程序的调试:首先需要启动调试器在Web.config中启动调试,但也可以禁用调试注意:由于安全方面的考虑,远程浏览器不能打开服务器上的Web.config文件,如果要强制使用浏览器访问配置文件,就会返回HTTP访问错误403错误,禁止访问启用调试方式:在Web.config文件中”compilation”节点的debug属性设置为true代码如下(字节添加,注意大小写)4)Web.config文件常用的配置信息:该文件为XML格式,所有的配置信息都在/所有的配置信息都在这里5)注释在HTML和XML中都为中6)代码单点调试7)应用程序的错误处理:ASP.NET引入一个新的功能,使用户在应用程序运行时跟踪并处理错误。但错误发生时,其允许使用定制的错误提示或跳到一个更为友好的提示页面。案例:使用Web.config文件配置站点:将404错误重定向到一个定制的页面(404.html),或对403错误;代码如下:System.web下配置:8)HTML错误的常见状态说明错误名称说明400错误请求401未授权403禁止404未找到408请求超时500内部服务器错误502网管无效为了安全起见,以上的错误提示信息时访问者不能看到的,故而希望采用通过对Web.config设置为友好提示注意:这里mode属性设置为on,同时关闭调试,否则不会重定向9)对于出错还可以用Page_Error事件:提供一种捕捉页面级别出现的错误方法,但Page_Error事件的处理程序只会对产生的错误的具体页面有效,因此可以只是显示错误信息,或者记录事件或执行其他操作,具体代码如下:10)Application_Error事件:可以捕捉发生在应用程序中的错误,由于事件发生在整个应用程序范围内,英雌可以记录应用程序的错误信息,或其其他可能发生的应用程序级别的错误,必须在Global.asax文件中添加代码:void Application_Error(object sender, EventArgs e)/在出现未处理的错误时运行的代码Exception ex = Server.GetLastError().GetBaseException();/实际应用中,可以将Exception信息记载成Log或是保存到数据库中Response.Write(错误:+ex.Message);Server.ClearError();/清除Exception,避免继续传递给上一级处理11;Web的部署:1,部署工具:VS2008提供了“复制网站”工具:将需要部署的Web应用程序文件复制到目标服务器中。VS还提供了“发布网站”工具:将网站编译为已足可执行文件,就像窗体程序的安装包一样。2,复制网站的功能:将源文件(axps和cs)复制到目标服务器;从VS所支持的任何类型网站中打开和复制文件,包括本地Internet信息服务、远程的IIS和FTP网站;同步功能:能同时检查两个网站中的文件,并确保两个网站的文件都有最新的文件。3,发布网站的功能:可以预编译网站的内容,该工具将编译后输出的文件复制到制定本地目录或服务器上,可以作为预编译过程的一部分直接发布,也可以在本地与编译,然后复制文件;发布网站工具编译网站,并从文件中除去源代码,仅保留和已编译程序集文件,一个Web程序开发好以后,通常不讲源代码发布,而是它的编译成程序文件。复制网站的优点:操作简单;仅复制即可可以使用VS所支持的任何连接协议部署到目标服务器中,也可以复制到网络中其他计算机上的共享文件里可以使用FTP工具直接复制到服务器,或使用HTTP协议复制到支持FrontPage服务器的扩展的服务器。使用方便,可以直接在服务器上更改网页或修复网页中的错误。可以使用同步功能确保文件的本地和远程版本保持同步。4;发布站点的预编译过程:两种编译过程动态编译:只有用户发送请求时,才编译;预编译:是在Web应用程序部署前就对程序进行了编译,并封装了一些原程序,5,预编译工具:Aspnet_compiler.exe:可以实现预编译,集成在VS环境中步骤:准备好预编译的文件,将其存放到一个文件夹,启动DOS进入该文件夹;在命令行程序中输入:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_compiler.exe -v/PetTrick -p +web文件所在的目录+文件编译后存储的文件6,常用语配置节及说明是根元素,名称说明设置ASP.NET应用程序的编译方式设置ASP.NET应用程序的自动处理错误程序设置HTTP处理时对应到URL请求的IhttpHandler类设置个人信息的Profile对象创建、删除或清除ASP.NET应用程序中的HTTP模块设置ASP.NET的角色管理设置ASP.NET应用程序的Session状态,如管理WEB应用程序的会话,例如:是否可以用cookie session的过期时间等,用来检查请求编码,常见的格式有GB2312 UTF-等这个节点用来设置应用程序的验证方式CustomErrors mode 的三种方式:on(始终显示自定义信息);off(始终显示详细信息);RemoteOnly(表示只对不在本地Web服务器运行的用户显示自定义信息);Globalization代码示例:请求的编码方式响应内容的编码方式文件解析的默认编码方式在system.web下面设置stateConnectionString:指定ASP.NET应用程序存储远程会话状态的服务器名,默认为本机;sqlConnectionString:当用会话状态数据库时,在这里设置连接字符串;cookieless:设置我True时,表示不适用cookie会还状态来表示客户;timeOut:用来定义会话状态存储的时间,超过期限,则自动停止会话;7,authentication的设置属性简介:mode:Windows:使用IIS验证方式;Forms:使用基于窗体的验证方式;Passport:采用Passportcookie验证方式;none:不采用任何验证方式;8,Web文件中配置数据库连接方式有两种,使用Web.config文件有很多优点,大多数的Web应用程序都把数据库的连接字符串信息配置到Web.config文件中。优点是:可将连接字符串加密;可直接绑定数据源控件,而不必写代码读出来在给赋值给控件可方便地更换数据库平台,如果是数据库改变了名称,只需修改响应名称即可13;Web应用程序的安全性:增加安全性的措施:经常对程序进行备份,并将备份存放在安全的场所;将Web服务器放置在安全的场所,这样未经过授权的用户就无法对它进行操作;尽量使用NTFS文件系统,避免使用FAT32,因为前者安全性远大于后者使用复杂的字符组和密码;关闭不使用的端口和服务;运行监视入站和出站通信的病毒检查程序;使用防火墙;定期安装操作系统或其他应用软件供应商提供的最新安全的补丁程序。使用操作系统事件日志记录,并且经常检查这些日志。以查找可疑活动遵循以下原则:在ASP.NET网页中,要筛选用户输的数据,以查找是否含有可能危害应用程序的脚本;不要显示未经筛选,在现实不受信任的信息之前,对HTML进行编码检查,因为它可能存在潜在有害的脚本,最好把这些脚本转换为字符显示出来,就可以阻止它的执行;不要将未经筛选的信息存储在数据库中;如果要接受来自用户提交的一些HTML程序,则手动进行筛选,也可以用程序判断,根据内容决定是否过滤它;不要将敏感信息,建议:数据库和WEB服务器,最好用本地局域网中访问,不可用互联网访问;14;5中身份验证机制:基本身份验证;简要身份验证;集成Windows身份验证;证书身份验证和匿名身份验证1)集成身份验证:即是需要用户名和密码15;配置web应用程序中的权限:allow授权 和deny拒绝授权,两者都是存储在authorization中的元素代码如下:16;用户管理对象:用户管理即是对用户进行添加、更新、查找、验证等操作就是简单的用户管理:两种管理方式Membership用户管理和MembershipUser用户管理Membership用户管理:用户验证用户凭据并管理用户设置,可以独自使用,或与FormsAuthentication一起使用以创建一个完整的Web应用程序或网站的用户身份验证系统。Login控件封装了Membership类,从而提供一种便捷的用户验证机制,Membership类提供的功能可用于以下几个方面:闯将用户;将成员信息,存储在SQL SERVER中;对访问网站的用户进行身份验证;管理密码,包括创建、修改、检索和充值密码等。Membership类的属性ApplicationName设置应用程序的名称EnablePasswordReset设置当前成员资格提供程序是否配置为允许用户重置其密码HashAlgorithmType用户哈希密码的算法的标识符MaxInvalidPasswordAttempts获取锁定成员资格用户无效密码或无效密码提示问题答案尝试的次数MinRequireNonAlpanumericCharacters有效密码中必须包含的最少特殊字符数MinRequirePasswordLength密码所要求的最小长度PasswordAttemptWindow最大无效密码或无效密码提示问题答案尝试次数的分钟数PasswordStrengrhRegularexpression_r_r用户计算密码的正则表达式RequireQuestionAndAnswer设置默认成员资格提供程序是否要求用户在进行密码重置和检索时回答密码的提示问题UserIsOnlineTimeWindow指定用户在最近一次活动的日期/时间截之后被视为联机的分钟数MembeishipUser用户类的概述:1)作用:表示成员资格,该对象公开有关成员资格用户信息2)常用属性:Comment设置成员资格用户的特定于应用程序的信息CreationDate获取将用户添加到成员资格数据存储区的日期和时间Email设置成员资格用户的电子邮件地址isApproved设置是否可以对成员资格用户进行身份验证isLockedOut获取成员资格用户是否因为被锁定而无法进行验证isOnline获取用户当前是否联机LastActivityDate设置成员资格用户上次进行身份验证或访问应用程序的日期和时间LastLockoutDate获取最近一次锁定成员资格用户的时间和日期LastLoginDate设置用户上次进行身份验证的日期和时间LastPasswordChangeDate获取上次更新成员资格用户的密码的日期和时间PasswordQuestion获取成员资格用户的密码提示问题ProviderName获取成员资格提供程序的名称。该提供程序存储并检索成员资格用户的用户信息ProviderUserKey从用户的成员资格数据源中获取用户标识符UserName获取成员资格用户的登录名17;用户管理的关键配置成员资格提供程序1)创建用户:两种方式一种是通过CreatUserWizard控件添加用户,还可以直接使用membership API来创建用户。Membership API的常用方法Menbership.CreateUser添加用户Menbership.DeleteUser删除用户Menbership.FindUserByEmail用电子邮件查找用户Menbership.FindUserByName用用户名查找用户Menbership.GetUser返回符合要求的用户对象Menbership.UpdateUser更新用户信息Menbership.ValidateUser检查用户名和密码是否能通过登录例如:不完整代码:protected void Button1_Click(object sender, EventArgs e)MembershipCreateStatus status;/声明变量,属于System.Web.Security类Membership.CreateUser(TextBox1.Text, TextBox2.Text);/创建用户if (status = MembershipCreateStatus.Success)/如果创建成功Response.Write(创建成功);elseResponse.Write(status.ToString();3)验证用户:通过membership API的一些静态方法和属性,可以对实现ASP.NET应用程序用户的管理,如ValidateUser()可以完成让程序自动控制登录过程,并要对用户登录过程进行验证4)角色管理系统(对不同级别的人员,进行权限控制)对完成的网站,通过菜单栏上网站ASP.NET配置进入安全18;ASP.NET中的授权:文件授权和URL授权主要进一步介绍注意:如果是401状态代码,则它就会返回401状态代码题目:ASP.NET提供的4中验证方式为:Windows验证 Passport护照身份验证 Forms窗体身份验证 None身份验证时一个验证客户端身份的过程,通常采用指定的第三方授权方式;基本身份验证要求以用户以用户名和密码的形式提供凭据来证明其身份;memship类用于验证用户凭据并管理用户设置;ASP.NET成员资格可以验证和管理Web应用程序的用户信息,它提供验证用户凭据 创建修改成员资格用户修改成员资格用户 管理用户设置;Forms身份验证是使用比较多的一种验证方式,它不需要依赖任何其他的程序或服务,完全靠网站开发人员来进行控制;为应用程序加你了角色后,就可以为角色规定:访问权限验证角色登录,首先得为相应的角色指定:访问规则域账号必须包含域名和用户名的组合;十五章 用C#开发Web service:Web API:提供代码1;Web service定义:也叫XML Web service,该服务存在远程网络中,它可以为向它请求的程序提供一些特定的功能,如计算、查询和返回数据通过SOAP(简单对象协议访问)返回XML数据,它是Web应用程序的一种分支,是一种分布式技术,正向着WCP方向演进.NET平台实现Web service包含两个部分:Web service入口和实现Web service功能类。.asmx文件就是Web service的入口,WebService就是Web service的功能类;优点:建立可交互操作的 跨平台 分布式应用程序的新平台。访问机制是基于XML的消息形式,而使得Web客户端与Web service之间除了请求响应为,两者之间不需要清除对方的任何情况,另外它是一种以最简单的方式来实现异构系统之间的相互通信和数据交换,并且可以跨平台,开发者可以用任何技术创建符合标准的Web service 包括JAVA和.NET特点:Web service基本上是利用HTTP协议和SOAP在网上获取数据,它将对象显露给在HTTP上的SOAP调用并执行远程功能调用,因此,Web service的使用者可以在远程对象上通过SOAP和HTTP在Web上进行方法调用2;WCF:它是Vista操作系统内置的通信基础类库,给予WCF,就简化了分布式编程的难度,它包含了丰富的编程模型,如CPM+ Web service.NET Remoting等,这些工具的整合,为.NET平台提供了统一的分布式通信模型和编程方式3;Service.asmx便是Web服务文件,Web服务至少由一个类组成,类可以在asmx文件中,也可以通过代码分离的方式写在另外的CS文件中,通过”Web service“指令引入。4;在Web service中使用Session对象:默认情况下WebMethod是不能访问Session中的值,如下代码将调用Session对象:在Service.CS中using System;using System.Linq;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Xml.Linq;WebService(Namespace = /)WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)/ 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。/ System.Web.Script.Services.ScriptServicepublic class Service : System.Web.Services.WebServicepublic Service () /如果使用设计的组件,请取消注释以下行/InitializeComponent();/实现对Session变量的调用/第一种WebMethodpublic string HelloWorld() return Hello World;/这个不会有输出,因为没有启用Session会话,因为之前没有启动所以不可以public string Hello() return Hello,+Sessionuser;/第二种WebMethod(EnableSession = true)/启用会话状态:该种方式时,客户端在访问Web service时,可以不为Session变量赋值,系统有默认值,如果会话设置为false,客户端在访问Web service时,就会要对Session变量赋值,否则会报错public string Hello1()return Hello, + SessionID;/第三种WebMethodpublic string Hello2()return Hello,+SessionID;/注意:在Web service类中,一个Public方法能否被调用者访问,就取决于这个方法是否是一个WebMethod/注意:在ASP.NET3.5之后不需要加WebMethod也可以调用5;调用Web service 可在该服务添加Web窗体,然后再.cs页面上:Service se = new Service();string str= se.Hello();Response.Write(str);6;Web service和class一样本质都是一些类,只不过Web service是更为公共的类,可以被更广泛的群体使用,只要知道你的Web service调用的方法7;使用Web service调用数据库:在Webservice.cs页面上的代码:public class WebService : System.Web.Services.WebService public WebService () /如果使用设计的组件,请取消注释以下行/InitializeComponent();WebMethodpublic string HelloWorld() return Hello World;public bool InstertSql(string SQLconn, string SQLtxt)SqlConnection conn = new SqlConnection(SQLconn);/创建连接数据库的对象tryconn.Open();SqlCommand com = new SqlCommand(SQLtxt, conn);/创建命令对象com.ExecuteNonQuery();/执行SQL命令return true;/如果成功则返回真值catch (Exception ms)/捕获异常return false;System.Web.UI.Page tt = new System.Web.UI.Page();tt.Response.Write(ms.Message);finally/释放资源conn.Close();调用页面代码(Default.aspx.cs):using System.Data.SqlClient;public partial class _Default : System.Web.UI.Pageprotected void Page_Load(object sender, EventArgs e)protected void Button1_Click(object sender, EventArgs e)/创建连接字符string sqlcon = server=;uid=sa;pwd=sa2005;database=db_demo;/插入语句string cmdtxt = insert into tb_demo(demo_title) values(+this.TextBox1.Text+);/WebService insert = new WebService();bool returnValue = insert.InstertSql(sqlcon, cmdtxt);if (returnVal

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论