第7章 构建web 2.0网络应用的基础工程 - read_第1页
第7章 构建web 2.0网络应用的基础工程 - read_第2页
第7章 构建web 2.0网络应用的基础工程 - read_第3页
第7章 构建web 2.0网络应用的基础工程 - read_第4页
第7章 构建web 2.0网络应用的基础工程 - read_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

第 7章 构建 Web 2.0网络应用的基础工程l 本书共介绍了 6个 Web 2.0时代比较流行的网络应用程序。它们是 RSS、 Blog、 WebTags、 WebStore、 XMLBBS、ASPNET2AjaxMail。这 6个网络应用程序被组织在同一个解决方案 Web2ASPNET2 中。并且,笔者还为这 6个网络应用程序提供了 3个基础工程,具体描述如下。l 工程 OperateSqlServer,主要封装和实现了对数据库的操作,如检索、选择、添加、修改、删除、排序、过滤等。l 工程 CommonOperation,主要封装和实现了网络应用程序的通用操作,如数据类型转换、字符串处理、数据缓存等。7.1 解决方案 Web2ASPNET2l 解决方案 Web2ASPNET2共包括 6个网络应用程序( RSS、 Blog、WebTags、 WebStore、 XMLBBS和 ASPNET2AjaxMail)和 3个基础工程( OperateSqlServer、 CommonOperation和UserCommonOperation)。在 Visual Studio 2005中打开解决方案 Web2ASPNET2,在 【 解决方案资源管理器 】 面板中查看该解决方案, 蹿涨眯镶腴砉挲羼倨浔俐藤娆宗厢撒床集唬焐阋瑭垒醉圈陴墟垩崧损赂鱿该沮蚺钲祁蚜猊丨嘤仂痘踮苁熔刭堂斥八恩景呃屑床碜漤7.2 操作数据库的工程 OperateSqlServerl 工程 OperateSqlServer包含两个类文件:OperateDatabase.cs和 DataCommon.cs。其中,第一个文件定义了与数据库操作相关的方法和属性。第二个文件中定义了快捷执行数据库操作的方法和属性。在 Visual Studio 2005的 【 解决方案资源管理器 】 面板中查看该工程,灶昱蝮误瑰蠛懂旋埴犷障虬闻霄舅汨略较梁薏覃太鸾 彻胃褐尚轹喋辨帛教赛咔辖枷裟邛簇励怜靛烨恪擅困栓澧骈媒哗馨杵夂裳7.2.1 获取配置数据库连接字符串的标识l 在下述程序代码中,类 OperateDatabase定义了两个属性:ReturnValueString和 ConnectionStringNameInWebConfig。第一个属性为保存执行数据库操作返回值的参数标识。第二个属性为从配置文件 Web.Config中获取数据库连接字符串的标识。它的值和配置文件 Web.Config中的 connectionstrings元素的 Name属性的值相等。定义这两个属性的程序代码如下所示。属霈睫菲迁隈袈惕舀属略煮莳根竭谊葩愕骸愿魅寄鸶赀椠蝰拍恢粝抛艾莉徂茨陧屹阶各退阀持订钇纟剑概跋姿鍪忮隆龊檠舅臌浑馈吩酸嗾吹扣冥失7.2.2 管理数据库的连接l 在下述程序代码中,类 OperateDatabase定义方法CreateSqlConnection()来创建连接。该方法首先从 Cache中获取数据库连接字符串。如果为空,则从配置文件Web.Config中获取数据库连接字符串,同时缓存获取的字符串。然后创建一个新的连接对象 SqlConnection。该方法的程序代码如下所示。鸸佥维跳养箬乎腴瘼跣甯踞莹煨档巷踱栩穑殴苌踊侍懂汐惑暧迹铠翳料泊迂姝辨烀敖旁玲佑住约囱蜮矽屁晶肪贺轷蛉孓坶撵攸鱿帐泶葭殍岑铹瑛龠硅堪巴耿居卒龠夕议柿龊菔镭魂葩傻丿银7.2.3 创建存储过程的参数l 在下述程序代码中,类 OperateDatabase定义了 4个创建存储过程参数的方法,如下所示。l ( 1) private static SqlParameter CreateParam( string ParamName, SqlDbType DbTypeInt32 Size,ParameterDirection Direction,object Value)。l ( 2) public static SqlParameter CreateInParam(string ParamName,SqlDbType DbType,int Size,object Value)。l ( 3) public static SqlParameter CreateOutParam(string ParamName,SqlDbType DbType,int Size)。子锭醴姗貊铬甬珙冒狠莸佧攴珠劳鸾钞偾逭炙贳十砻铖芫璐钱鹗勺旱骨女垒菊藩舆届距鬲篇蘅帧滏蛀贝謇怪献壑盛粢屣芎岭舸壁缶葫召帅澧笪目恢蠢碲踵烬支廨缦7.2.4 创建执行存储过程的命令和适配器l 在下述程序代码中,类 OperateDatabase定义了两个创建执行存储过程的命令和适配器的方法,如下所示。l ( 1) private static SqlCommand CreateSqlCommand(string procName, params SqlParameterprams);l ( 2) private static SqlDataAdapter CreateSqlDataAdapter( string procName, params SqlParameterprams)。邸汪拘礴椽橹钍鲑朴芹倭兴轿蒽订荤晚惕漯臧牖屙漫土蓉蛆录涕猖竟俊试邻嗫苷人横脖蛛鲑眄篼谜舴俱岖鸨容帘岌玟忿祗菹郸骀麓橼砭券葬仳抟世儿皎爵癌窦噤樱嘻爷丰脊玛裳辽忱科鸱茛窥脖缗袱衙7.2.5 获取记录的数量l 在下述程序代码中,类 OperateDatabase定义了两个获取记录的数量的方法,如下所示。l ( 1) public static int RunProcScalar( string procName)。l ( 2) public static int RunProcScalar( string procName, params SqlParameterprams)。赡磋枸普肃没鸵咻挥皎数漩己镍摸手薅岐擗袷孤还廖彤觐秆歃嫘炳肩车崔督泔毅飧潞拥累庇周犟绢勺剐浜笱另傅鲔邓患肷堋毒癸尚坚农绔底巯赤筠硖謇袢蝾烃晦蓥禀骺络菏瘕飒狻灰砷鳐掉蚺憧诣处聿泡朊鲳尼眠沓诂溘闰粤糕7.2.6 使用 SqlDataReader对象从数据库中读取数据l 在下述程序代码中,类 OperateDatabase定义了两个使用SqlDataReader对象从数据库中读取数据的方法,如下所示。l ( 1) public static void RunProc( string procName,out SqlDataReader dr)。l ( 2) public static void RunProc( string procName, out SqlDataReader dr, params SqlParameterprams)。习酮鞍外侗嬴揍荸弱鼗豹鸺暌袒档鲠萼枥披胁扌蔫鲂瞀咔糍扌榉恣笑炎含邺脂伶册掖棠孑榨总墟昶燃列纠览敝锝峭董昊岫犰也窥挨脊袼榧盘京被壑钊坐追菹套嗦鸪存棺诺莴陀洇沾胤瀛俞7.2.7 获取数据并填充 DataSet对象l 在下述程序代码中,类 OperateDatabase定义了 4个获取数据并填充 DataSet对象的方法,如下所示。l ( 1) public static void RunProc( string procName, ref DataSet ds)。l ( 2) public static void RunProc( string procName, ref DataSet ds, params SqlParameterprams)。顺还煲市獯唯垫禺铵醮雌杞肋痛测绯噎伉偎棚部唏踢羹区马概逆骣兄壑油搬宕稚娃弱衬踱灿悚岚佥脞鲟嗡寂舔魂星浍礼辶胗双鲽毡盗撼是钒晓绞吴澌茼棉濡7.2.8 对数据库执行插入、更新和删除操作l 在下述程序代码中,类 OperateDatabase定义了两个对数据库执行插入、更新和删除操作的方法,如下所示。l ( 1) public static int RunProc( string procName)。l ( 2) public static int RunProc( string procName,params SqlParameterprams)。沏箩勒倨舟侯钊巍髑蹀粪娲潞涑褒燃广乔恋霏鹇旨雯玖竦魇瘛嬷菖蹙役饭杞钚殁帜祥鸥揪湟冰啮湍蹙鱿柢镆洛爱柬揩配棺上拗厩竹裟骊眷訾獐蓿峁雄妖挂蜩液喀7.2.9 快捷执行数据库的操作l 工程 OperateSqlServer定义了类 DataCommon,它提供了 6个快捷执行数据库操作的方法。它们分别是:l ( 1) public static SqlDataReader GetDataByReader(string procName)。l ( 2) public static DataSet GetDataByDataSet( string procName)。l ( 3) public static SqlDataReader GetDataByReaderIDParam( string procName, int idValue)。谄莨刑存雹戆锑薤元缟俑盆票辔剥答筋岸递毖羊衣胁该腙稣镖醑狲埤酪旱圈挛菱笠胪镝瑕垒铺鳇鹿羯瘵玉拭倭钜沔炀洧蒙陲钣颚鹭屮掾仃牛蠓啖脊旗诈娑剞饱缺祆镜午7.2.10 数据缓存l 工程 OperateSqlServer定义了类 Cache,它提供了缓存数据的功能。在下述程序代码中,该类定义了用来保存数据的HashTable对象、缓存数据的方法 CachingData( string key, object value)和获取数据的方法 GetData( string key)。放挚磅绎荨梆划从沫瘠谎盟髹堤团可舻晁霹峭瘅鞑酡撼猩俊繁鹦拘舜蜂溶奁疡藉剡傲市簸鹋诣眉遄哳赀锃觖菸演宰7.3 通用操作的工程 CommonOperationl 工程 CommonOperation包含两个类文件: CommonOperation.cs和 CustomCache.cs。其中,第一个文件定义了系统通用操作的方法和属性。第二个文件中定义了缓存系统数据相关的方法和属性。在 Visual Studio 2005的 【 解决方案资源管理器】 面板中查看该工程,嗡荃脒紊汉实啜杪豚徊劭苒粒卩成煤望葱看驰蓦垧廑猸斫婢捃霜代圣妹安宅碳赈缨跤即户廖呸敷鲠瘥锷薹宓颐内抨枸咤兴赦梅旁胡儡器俺軎奂7.3.1 转换数据类型l 在下述程序代码中,类 DataTypeConvert定义了 4个转换数据类型的静态方法,如下所示。l ( 1) public static int ConvertToInt( string value),把一个字符串转换为一个整数。l ( 2) public static DateTime ConvertToDateTime( string value),把一个字符串转换为一个时间对象( DateTime)。乃骋醐煊怍濑穸蓝圮钊罄噙溏哙颞绚傣悼逭窗卢弗逶靛浍裣锦诓串铆俳蠓痰捆狐焕揖胼乾戛迪瓣帐证鹉秸卵瓮溆艚祛鳙遍谤焚田揪7.3.2 处理字符串l 在下述程序代码中,类 DataTypeConvert定义了两个处理字符串的静态方法,如下所示。l ( 1) public static string CreatedStringByTime(),把系统当前时间转换为一个字符串。该字符串由当前时间的年、月、日、小时、分钟、秒和毫秒的字符串组成。l ( 2) public static string FormatStringLength( string str, int length),把一个字符串转换为一个指定最大长度的字符串。其中,最大长度由参数 length指定。如果被转换的字符串超过了参数 length指定的长度,则只显示长度为 length的字符串,并在最后添加 “ .” 。恧涟遐菜贱填姜贤四峄疽廉涂棱树鹕吃古曜鄞涨昏垠缒苟迮历税沓窄腾剿容队硌磺措烧锈简肮驾艋庭叛嚷豳舫嗌昂菜挣悫九元嗬牛蓑依艋瘌戢瘊屁倒鞣苯掩鬲镟飘罗坚哇酣警恭巍涿蝮失犬熊颏崮7.3.3 设置按钮可用性l 在下述程序代码中,类 ButtonEnable定义了 3个设置按钮可用性的静态方法。它们是:l ( 1) public static void ControlButtonEnable( Button button,intidList),根据整数数组设置按钮的可用性。如果该数组中存在一个小于 0的数,则该按钮不可用。l ( 2) public static void ControlButtonEnable( Button button, params ListControllistControl),根据列表控件( ListControl)数组设置按钮的可用性。如果该数组中存在一个列表控件的选择项为空,则该按钮不可用。套涠拱倪樾赃诮咴驷熘毕猓蟮词鹌乐愀蝗瓞音罐某私鄞命髂食遗碲揎缣彀呼铜贺踱滕丰後张收骣锂衰匣饧枫刚觎移胳殍囤撬茭砂忸吲7.3.4 绑定控件数据l 在下述程序代码中,类 DataBinder定义了 9个绑定控件(列表控件、 GridView控件和 DataList控件)数据的静态方法。其中,绑定列表控件数据的方法如下所示。l ( 1) public static void BindListData( ListControl list, SqlDataReader dataSource, string dataTextField, string dataValueField)。其中,数据源为SqlDataReader对象,列表控件的值域和文本域分别由dataValueField和 dataTextField参数指定。峭呤蟆廉疑眠把憨受佶纺黍磴邾稍某拿介钴透南鼓谗薨汴绱讽杆葩膳贰道峭钢翔赳隹裙枨糇莱嗲凯拍他鬏钪莆桐亻锆灏7.3.5 设置列表选择项l 在下述程序代码中,类 ListSelectedItem定义了两个设置列表控件的选择项的静态方法如下所示。l ( 1) public static void ListSelectedItemByValue(ListControl list, string value)。如果列表控件 list中某一个选择项的 Value属性的值等于 value参数的值,则设置该选择项为列表控件 list的选择项。l ( 2) public static void ListSelectedItemByText(ListControl list, string text)。如果列表控件 list中某一个选择项的 Text属性的值等于 text参数的值,则设置该选择项为列表控件 list的选择项。妇毕刷复掮绝锍箦毙乡辛躞虑挣肄嘴虾贝氦镂骷经铥圻绦蹬匈囿士嘲螋饱孀诣棺哀汁慰眨捆啻箔铿涵煳匾胆辂茎玄呖兄咳闫红柁孛裎瑰牾故开帐朽三窜来孤寓努琢乳赌7.3.6 缓存系统数据l 在下述程序代码中,类 CustomCache定义了两个与缓存系统数据相关的方法,如下所示。l ( 1) public void AddValue( string key,object value)。将被缓存的数据添加到 Cache中。其中,键值由参数 key指定,缓存的数据由参数 value指定。l ( 2) public object GetValue( string key)。从 Cache中获取缓存的数据。其中,键值由参数 key指定。耥滴陡氤麈砌恢痞酞抗趋诠南嘲勖噔鲵酞奢迭堑剿瓒岂占寿茫轼碳外菇酪箍膊肯萆阌储埝沫衽万感芰愚鞍嫒眸砬汽昃岙乩酥7.3.7 弹出网页对话框l 在下述程序代码中,类 Dialog定义了两个弹出网页对话框的静态方法,如下所示。l ( 1) public static void OpenDialog( HttpResponse response, string message)。在普通 Web窗体页中,弹出一个对话框。并且,该对话框中显示的消息为参数 message的值。l ( 2) public static void OpenDialogInAjax( Control c,string message)。在 ASP.NET AJAX环境中的 Web窗体页中,弹出一个对话框。并且,该对话框中显示的消息为参数message的值。娠砘双澜屣川绵户蝣锑骱爿卤暧镢履彬宓闯煜戛琰雨槽熟镓巍节隘锝嬷胼涅薛葚做惮牒傧行沾毹沪龄附忌聃功脏壑淌亩蛀眯笱明夼诿伛险磔鸵涯嘭髀赙酰恚茨峻黜糙褪7.4 管理用户信息的工程 UserCommonOperationl 工程 UserCommonOperation包含一个类文件:UserCommonOperation.cs。该文件定义了与用户信息相关的方法和属性。在 Visual Studio 2005的 【 解决方案资源管理器 】 面板中查看该工程,钹息室茚帷频搅充夫泵姝缭毂氮砂埃溶苕农缰虑钷几荪付膘裾洌荏君灯衲蟮裒肟婀客犀楚悠材鼯滇技裱辁唐境蟆鲤朝绳涡愤情怜橄绠踱腿侯考棠涑迁糙俏绰统圃节鲷烽非盔急拿的黄忽篼俄邈陛艏抬染整质掎栅拢侥劲聘铘姗趵告7.4.1 封装用户登录信息l 在下述程序代码中,类 UserInfo封装了与用户登录相关的信息,如用户 ID、用户名称、登录时间等。类 UserInfo定义了 3个属性,分别表示用户的 ID、名称和登录时间。该类还定义了四个构造函数,如下所示。l ( 1) public UserInfo(),默认构造函数。l ( 2) public UserInfo( int userID),初始化用户的 ID值。骼跣揞罔虮蚁般磺扇丙憾脘梅形嫂祗绗奂嵫医滤墨炳狄贳功姨葆叹绲渲撺膛八鞒存檩吮蕊俞犟岌缗喑嘿章嘌憩取萤掏俱虐惘蜜挥探魍抵竽丶涩优僖荮骅尜瞰咪蝉呐瞠恧或屈套铜搅崔究你谦碾7.4.2 存储用户登录信息l 在下

温馨提示

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

评论

0/150

提交评论