07 2012 档案

数据绑定(数据源控件 -- ObjectDataSource)
摘要:ObjectDataSource 在网页控件和数据访问组件间建立一个声明性的链接。ObjectDataSource 非常灵活,并可以和多种类型的组件一起工作。 要使用它,你的数据访问类必须遵守以下几个规则:所有逻辑必须包含在单个类中(如果使用不同的类选择和更新数据,那么必须把它们封装在一个更高层的类中)调用单个方法后,它必须提供查询结果查询结果必须是几条记录的组合,可以表现为集合、数组、DataSet、或实现 IEnumerable 的列表对象。每个记录由一个自定义对象通过公用属性公开它所有的数据可以使用实例方法或静态方法。不过,如果使用实例方法,类必须有一个默认的无参构造函数,以便 Obj. 阅读全文

posted @ 2012-07-26 13:36 SkySoot 阅读(6906) 评论(0) 推荐(0) 编辑

数据绑定(数据源控件 -- SqlDataSource)
摘要:数据源控件包括那些所有实现 IDataSource 接口的控件。.NET Framework 包含以下数据源控件:SqlDataSource:连接到任意 ADO.NET 数据提供程序的数据源。ObjectDataSource:连接到自定义的数据访问类。(这是大型专业 Web 应用程序倾向使用的数据源控件)AccessDataSource:连接到 Access 数据库文件。用于小型网站,更好的小范围数据解决方案是使用免费的 SQL Server Express。XmlDataSource:连接到 XML 文件。SiteMapDataSource:连接到描述站点导航信息的 web.sitemap. 阅读全文

posted @ 2012-07-25 17:16 SkySoot 阅读(24955) 评论(3) 推荐(1) 编辑

数据绑定(重复值绑定)
摘要:重复值绑定可以讲列表信息绑定到控件上。列表信息可以是自定义的对象集合(如 ArrayList 或 HashTable),也可以是行的集合(如 DataReader 或 DataSet)。 ASP.NET 带有几个支持重复值绑定的基本列表控件:所有用 <select> 标签呈现的控件:HtmlSelect、ListBox、DropDownListCheckBoxList(复选框列表) 和 RadioButtonList(单选按钮列表)BulletedList (各种符号的无序列表) 所有这些控件显示来自数据项的单值字段。这些控件共有的属性如下:DataSource它指定要显示的数据对 阅读全文

posted @ 2012-07-25 11:01 SkySoot 阅读(1160) 评论(0) 推荐(0) 编辑

数据绑定(数据绑定表达式 和 自定义表达式构造器)
摘要:数据绑定是把数据源和控件相关联并由控件负责自动显示数据的一种特性。数据绑定的关键特征是它是声明性的而不是编程性的,这样做的好处是清晰的分离网页中的控件和代码。单值绑定 支持单值绑定的控件允许使用数据绑定表达式绑定它们的部分属性。表达式在页面的 .aspx 标记部分输入并由 <%# 表达式 %> 分隔符组成。<%# EmployeeName %>它看起来有点像脚本块,但并不是脚本块。如果试图在标签中写入任何代码,将会得到一个错误。这里唯一可做的就是加入有效的数据绑定表达式。为了计算这样的表达式,必须调用 Page.DataBind()方法。ASP.NET 会检查页面上所有 阅读全文

posted @ 2012-07-24 12:31 SkySoot 阅读(1374) 评论(0) 推荐(0) 编辑

数据组件和 DataSet
摘要:在合理组织的应用程序中,从来都不会把数据访问代码直接嵌入到页面的后台代码中,而是被分离到一些精心设计的数据库组件中,这样它可以在多个页面甚至多个架构的系统中使用。DataSet 不是 ASP.NET 页面必需的,但它在导航、过滤、排序方面带来更多的灵活性。 还是通过一个示例来简单的演示一下创建一个数据库组件。数据库组件一般包括至少两个类:数据包类(实体类)数据库应用类(数据增删改查的执行类) 实体类 Code:(为了演示,并不包含全面的字段信息)public class EmployeeDetails{ public int EmployeeID { get; set; } pu... 阅读全文

posted @ 2012-07-23 14:27 SkySoot 阅读(1900) 评论(0) 推荐(0) 编辑

ADO.NET 基础(事务、通用的数据工厂)
摘要:事务 事务是一组必须全部成功或者全部失败的操作。事务的目标是保证数据总能处于有效一致的状态。例如,转账操作。 事务有 4 个被称为 ACID 属性的特征,ACID 是以下概念的缩写:Atomic(原子性):事务中所有步骤必须同时成功或失败Consist(一致性):事务使底层数据库在稳定状态间转换Isolated(隔离性):每个事务都是独立的实体,一个事务不应该影响同时运行的其他事物。Durable(持久性):在事务成功前,事务产生的变化永久的存储在媒质上,同时也必须维护日志以保证出现硬件故障数据库也能得以恢复。 这些事事务的理想特征,它们未必总能达到。执行事务时 RDBMS 需要锁定数据,这样 阅读全文

posted @ 2012-07-17 14:28 SkySoot 阅读(4128) 评论(3) 推荐(2) 编辑

ADO.NET 基础(防SQL注入)
摘要:与数据库交互的 Web 应用程序中最严重的风险之一:SQL 注入攻击。 SQL 注入是应用程序开发人员未预期的把 SQL 代码传入到应用程序的过程,它由于应用程序的糟糕设计而使攻击成为可能,并且只有那些直接使用用户提供的值构建 SQL 语句的应用程序才会受影响。 问题在于命令时如何被执行的。SQL 语句通过字符串的构造技术动态创建,文本框的值被直接复制到字符串中,他可能是这样的:string sql = "SELECT * FROM Orders where CustomerID = '" + txtID.Text + "'"; 在这个示 阅读全文

posted @ 2012-07-16 17:19 SkySoot 阅读(3114) 评论(0) 推荐(0) 编辑

ADO.NET 基础(Connection、Command、DataReader)
摘要:ADO.NET 架构ADO.NET 数据提供程序 数据提供程序是一组用于访问特定数据库,执行SQL命令并获取值的ADO.NE类,就其本质而言,数据提供程序是应用程序和数据元之间的一座桥梁。 数据提供程序包括以下几个类:Connection:建立和数据源的连接Command:执行SQL命令和存储过程DataReader:提供对查询结果的快速只读,只进的访问方式,它是保持连接的处理方式DataAdapter:从数据源获得信息填充到DataSet,依照DataSet的修改更新数据源,它是一系列表和关系的集合,它是断开连接的处理方式 ADO.NET没有提供通用的数据提供程序,它只为不同数据源和特别设计 阅读全文

posted @ 2012-07-16 15:04 SkySoot 阅读(4310) 评论(0) 推荐(0) 编辑

ASP.NET 状态管理(Application)
摘要:应用程序状态允许保存被所有客户访问的全局对象。应用程序状态基于 System.Web.HttpApplicationState 类,该类在 Web 页面中通过内建的 Application 对象提供。 例如,可以创建一个 global.asax 事件处理程序来跟踪有多少会话被创建了,也可以使用相同的逻辑追踪某一页面的访问次数:protected void Page_Load(object sender, EventArgs e){ int count = 0; if (Application["HitCounterForOrderPage"] != null) { ... 阅读全文

posted @ 2012-07-13 15:01 SkySoot 阅读(2663) 评论(0) 推荐(0) 编辑

ASP.NET 状态管理(cookie、Session)
摘要:cookie 自定义 cookie 提供了保存备用数据的另一个选择。cookie 在用户的硬盘上创建一个小文件(临时 cookie 保存在 Web 浏览器的内存)。 cookie 的优点:对用户透明,他们不必知道需要保存哪些信息。很方便的由应用程序中的任意页面使用,甚至还可以保存很久以便在不同的访问中使用。 cookie 的限制:和查询字符串一样,只能使用简单的字符串信息如果用户找到并打开cookie文件,它们很容易被修改。因此不适合保存复杂,私有的信息或者大量的数据。部分用户还会禁用 cookie,不过大部分情况下用户会接受 cookie,因为它们被太多的站点使用。 cookie 的使用:R 阅读全文

posted @ 2012-07-13 13:51 SkySoot 阅读(7573) 评论(0) 推荐(3) 编辑

ASP.NET 状态管理(查询字符串 和 跨页回发)
摘要:视图状态一个最大的限制是它必须和特定页面紧密绑定。当用户从一个页面浏览到另一个页面时,这些信息也就消失了。这个问题有几种解决方案,最佳的方案取决于你的项目需求。查询字符串 一个常用的办法是在 URL 中使用查询字符串传送信息。搜索引擎中频繁的使用了这种办法。http://www.google.ca/search?q=organic+gardening 查询字符串的优势: 它是轻量级的,并且不会加重服务器的负担。和跨页回发不同,查询字符串很容易在页面间传送相同的信息。 查询字符串的限制:信息仅限于简单的字符串,只能包含合法的 URL 字符。用户很容易看到信息,对因特网上的窃听者也是如此。大胆的. 阅读全文

posted @ 2012-07-12 17:48 SkySoot 阅读(2436) 评论(0) 推荐(1) 编辑

ASP.NET 状态管理(视图状态 ViewState)
摘要:无论 Web 程序框架多么先进,它都不能改变一个事实:HTTP是一种无状态协议。 每次 Web 请求后,客户端和服务器端断开,同时 ASP.NET 引擎释放页面对象。这种架构保证了Web应用程序能够同时响应数千个并发请求而不会导致服务器内存崩溃。但其负面效应是你必须通过其他技术存储 Web 请求之间的信息并在需要的时候获取它们。视图状态 视图状态是在单个页面中保存信息的第一选择。ASP.NET Web控件也使用试图状态在回发间保存属性值。通过页面内建的 ViewState 属性,你可以把自己的数据放入到视图状态集合中,可以保存的信息类型包括简单数据类型和自定义对象。 和 ASP.NET 中大. 阅读全文

posted @ 2012-07-12 11:40 SkySoot 阅读(2773) 评论(0) 推荐(2) 编辑

扩展HTPP处理程序和HTTP管道
摘要:应用程序事件的管道不仅仅限于对 .aspx Web窗体的请求,它还可用于创建自己的处理程序来处理自定义文件类型。为什么我们要创建自己的处理程序呢?有时候使用低层接口会非常方便,通过它们仍然可以访问 Response 和 Request 之类的有用对象,但不必使用基于控件的 Web窗体模型。通过避免完整的 Web控件模型,可以节省负载,因为 ASP.NET 不必执行很多步骤(如创建网页对象、持久化视图状态等)。HTTP 处理程序对 ASP.NET 应用程序的每个请求都由成为 HTTP 处理程序的特殊组件处理。HTTP 处理程序是 ASP.NET 请求处理框架的骨架。ASP.NET 使用不同的HT 阅读全文

posted @ 2012-07-11 13:56 SkySoot 阅读(1434) 评论(1) 推荐(1) 编辑

根据定制的 XML 文件进行随机抽取节
摘要:此类库中的两个类可以达成这一的一些效果:每次打开网页展现不同的标语、问候语,根据语录内容随机出题,随机显示新闻等等。当然XML格式的定制或者根据不同的XML文件适当修改类字段还是必要的。 using System; using System.Xml; namespace Quotations { public class Quotatio... 阅读全文

posted @ 2012-07-10 16:56 SkySoot 阅读(481) 评论(0) 推荐(0) 编辑

配置文件 web.config 的配置节加密
摘要:ASP.NET 不对配置文件的请求提供服务,因为它们通常会包含敏感数据。不过即使有这样一个基本的限制,你可能还是希望加密配置文件节从而提高安全性。ASP.NET 支持 2 种加密方式。(1)RSARSA 提供程序允许穿件一组用于加密配置数据的密钥对。它的优点是可以在计算机间复制这些密钥。例如Web集群里的所有服务器使用相同的配置文件。RSA 公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数 阅读全文

posted @ 2012-07-10 15:36 SkySoot 阅读(1367) 评论(0) 推荐(0) 编辑

扩展 web.config 配置文件结构
摘要:我们知道,使用<appSettings>元素可以保存应用程序使用的自定义信息。但是这个元素有两个明显的限制。1. 不能保存结构化信息,如列表或一组相关的设置。2. 不能灵活的处理各种数据类型。这个元素设置只能使用单一的字符串。幸好 ASP.NET 使用一个模块化的高度可扩展的配置模型,它允许你用自定义的节来扩展web.config和machine.config配置文件的结构。但要执行如下所示的3个步骤:1. 确定要在配置文件中保存的信息以及如何把它们组织到元素和特性。2. 对于每个新元素,都创建一个 C#类封装它的信息。3. 在配置文件里注册新节,必须使用 <configSe 阅读全文

posted @ 2012-07-10 14:00 SkySoot 阅读(2008) 评论(0) 推荐(0) 编辑

通过编程读写 web.config 中的配置节
摘要:ASP.NET 在 System.Web.Configuration 命名空间中提供 WebConfigurationManager 类,它允许在运行时从配置文件获取信息。为使用方便,应先引入 System.Web.Configuration 命名空间。AppSettings 属性 提供对应用程序配置文件的 <appSetting> 节的所有自定义信息的访问,每个设置通过一个按名称索引的集合提供。string isdn1 = WebConfigurationManager.AppSettings["ISDN1"];ConnectionStrings 属性 提供对 阅读全文

posted @ 2012-07-10 11:44 SkySoot 阅读(1396) 评论(0) 推荐(0) 编辑

Machine.config 文件中节点<machineKey>的强随机生成
摘要:<machineKey>这个节允许你设置用于加密数据和创建数字签名的服务器特定的密钥。ASP.NET自动使用它来保护表单验证Cookie,你也可以将它用于受保护的视图状态数据。同时,这个密钥还用于验证进程外的会话状态提供程序。 如果你在使用Web集群并在多台计算机上运行同一个应用程序,如果对页面的请求由一台计算机处理,而页面回发又由另一台计算机处理,第二个服务器就不能解密来自第一台服务器的视图状态和表单Cookie。这个问题之所以会发生,是因为两台服务器使用了不同的密钥。 要解决这个问题,你必须显式的在machine.config文件中定义这个密钥:<machineKey v 阅读全文

posted @ 2012-07-09 17:26 SkySoot 阅读(4182) 评论(0) 推荐(3) 编辑

Html服务器控件的 ServerChange 和 ServerClick 事件
摘要:Web控件可以在设计界面选中控件按属性除的闪电图标选择绑定事件,但是Html服务器控件不行,必须显式的,手动的在前台页面添加。 Option Text 后台代码: using System;using System.Web.UI;using System.Web.UI.WebControls;public partial class Chapter04_ServerClick_ServerChange : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) ... 阅读全文

posted @ 2012-07-06 16:46 SkySoot 阅读(2096) 评论(0) 推荐(0) 编辑

使用HtmlControl动态创建一个表格
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;public partial class Chapter04_CreateTableByCode : System.Web.UI.Page{ // 使用Html服务器控件创建一个5行4列的表格 protected void Page_Load(object... 阅读全文

posted @ 2012-07-06 15:46 SkySoot 阅读(1113) 评论(0) 推荐(0) 编辑

Stream Part.7
摘要:NetworkStream 和先前的流有所不同,NetworkStream 的特殊性可以在它的命名空间中得以了解(System.Net.Sockets),既然是在网络中传输的流,那必然有某种协议或者规则约束它,不错,这种协议便是Tcp/IP协议。如果服务器和客户端之间是基于TCP连接的,他们之间能够依靠一个稳定的字节流进行相互传输信息,这也是NetworkStream的最关键的作用,有了这个神奇的协议,NetWorkStream便能向其他流一样在网络中(进行点对点的传输),这种传输的效率和速度是非常高的(UDP也很快,稍后再介绍)。1. NetworkStream 只能用在具有Tcp/IP协议 阅读全文

posted @ 2012-07-04 11:58 SkySoot 阅读(556) 评论(0) 推荐(0) 编辑

Stream Part.6
摘要:BufferedStream 一般进行对流的处理时系统肩负着IO所带来的开销,调用十分频繁,这时候就应该想个办法去减少这种开销,而且必须在已有Stream进行扩展,有了以上2点需求,那么我们今天的主题,BufferedStream闪亮登场了,BufferedStream能够实现流的缓存,换句话说也就是在内存中能够缓存一定的数据而不是时时给系统带来负担,同时BufferedStream可以对缓存中的数据进行写入或是读取,所以对流的性能带来一定的提升,但是无法同时进行读取或写入工作,如果不使用缓冲区也行,BufferedStream能够保证不用缓冲区时不会降低因缓冲区带来的读取或写入性能的下降。缓 阅读全文

posted @ 2012-07-04 09:23 SkySoot 阅读(866) 评论(0) 推荐(0) 编辑

Stream Part.5
摘要:什么是 MemoryStream ? MemoryStream 是内存流,为系统内存提供读写操作,由于MemoryStream是通过无符号字节数组组成的,可以说MemoryStream的性能可以算比较出色,所以它担当起了一些其他流进行数据交换时的中间工作,同时可降低应用程序中对临时缓冲区和临时文件的需要,其实MemoryStream的重要性不亚于FileStream,在很多场合我们必须使用它来提高性能。MemoryStream和FileStream的区别 FileStream主要对文件进行一系列的操作,属于比较高层的操作,但是MemoryStream却很不一样,它更趋向于底层内存的操作,这样能 阅读全文

posted @ 2012-07-03 15:50 SkySoot 阅读(381) 评论(0) 推荐(0) 编辑

Stream Part.4
摘要:如何去理解 FileStream ? 我们磁盘的中任何文件都是通过2进制组成,最为直观的便是记事本了,当我们新建一个记事本时,它的大小是0KB, 我们每次输入一个数字或字母时文件便会自动增大4kb,可见随着我们输入的内容越来越多,文件也会相应增大,同理当我们删除文件内容时,文件也会相应减小。你肯定会问:谁将内容以怎么样的形式放到文件中去了?好问题,还记得第一篇流的概念么?对了,真实世界的一群鱼可以通过河流来往于各个地方,FileStream也是一样,byte可以通过FileStream进行传输,这样我们便能在计算机上对任何文件进行一系列的操作了。FileStream 的重要性 FileStre 阅读全文

posted @ 2012-07-02 12:27 SkySoot 阅读(408) 评论(0) 推荐(1) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示