zoukankan      html  css  js  c++  java
  • 第四十三讲 ASP.NET实例编程(二)

    * 摘要
    。论坛
    。在线聊天室
    。网络硬盘

    1、论坛概述
    。论坛和留言板类似,但功能远远超过留言板。留言板只用于网站管理员收集用户意见;而论坛是开放给所有用户的,用户可以在论坛中讨论各种各样的问题。从一定意义上说,论坛是用户获取信息的最有效的手段。
    。论坛也是各种网站设计中几乎都必不可少的一个模块。
    。论坛的基本功能是张贴和浏览信息,另外还有添加回复和查询的功能。


    2、基本数据表设计
    ID:编号 Long 关键字
    Subject:标题 字符(50)
    Sender:发表人 字符(20)
    Email:发布人邮件 字符(30)
    Body:内容 字符(255)
    SendDate:张贴时间 时间
    Parent:回复文章编号


    * 技术细节
    。论坛内容的分层显示
    -即初始化时只显示所有主题,如果该主题下有回复文章,则前面显示为“+”;没有回复文章,则显示“-”。对于下面的回复文章也按照此规则处理
    -客户端的分层显示技术:使用Table嵌套,即每个Table就是一篇文章的下一级的所有回复文章的标题;使用JavaScript脚本。响应客户端单击事件
    -服务端分层填充:使用递归实现,从数据库中读取相应数据。
    。实现查询
    -按照时间查询:首先要验证用户输入是否合法
    -按照主题查询:用户模糊查询
    。Subject like '%XML%'
    -按照作者查询:
    。包括该作者发表和回复的所有主题。

    4、页面设计
    。发布页面实现(Post.aspx)
    。分层显示实现
    。查询实现


    * 聊天室
    1、聊天室概述
    。聊天室是网站上提供的最常见的服务,最早来自BBS站点
    。建立聊天室相对来说比较复杂会设计到很多技术细节,比如处理用户掉线,无刷新技术,私聊等。

    2、页面设计
    。聊天室登录页面(Reg.aspx):
    -用Application记录聊天室登录人数
    -进入聊天室的用户昵称不能相同
    。聊天室主界面:用Frame实现
    -用户列表区:每2.5秒刷新一次
    -聊天记录显示区(View.aspx)
    -信息发布区(Send.aspx):发送时间,发送者,接受者,聊天内容

    3、技术细节
    。实现私聊
    -即用户向他人发送信息,在其页面上显示“您悄悄地对......”,而在其好友屏幕上显示“......”悄悄地支你说......
    -可以通过Application和Session实现
    。无刷新聊天室实现,有两种技术:
    -XMLHTTP:要求浏览器支持XML
    -隐藏帧


    * 隐藏帧使用
    。使用隐藏帧刷新数据最重要的技术就是在两个Frame之间传送数据。同一数据在两个Frame的表单中显示,其中一个用于从服务器获取数据,为了避免刷新感,可以将这个Frame隐藏起来,另外一个Frame用于显示数据。当隐藏帧刷新完成页面后,将刷新的数据写到显示帧中,就实现了无刷新的效果。


    3、技术细节
    。用户上线,离线等公共信息发布
    -在Reg.aspx中处理上线信息
    -在Session_End中处理离线信息
    。管理员权限:踢人功能
    。用户掉线:通过检测该用户最后一次发言时间来确认


    * 网络硬盘

    * ASP.NET中文件操作
    System.IO
    .Diectory:用于创建,移动和枚举通过目录和子目录
    .File:用于创建,复制,删除,移动和打开文件
    .Path:对包含文件或目录路径信息的String实例执行操作
    .StreamReader,StreamWriter:以一种特定的编码读写字符

    * File类
    。提供用于创建,复制,删除,移动和打开文件的静态方法,并协助创建FileStream对象
    。File类的所有方法都是静态的,因而无需具有文件的实例就可被调用。


    * FileStream
    。FileStream对于在文件系统上读取和写入文件非常有用,FileStream缓存输入和输出,以获得更好的性能。
    。FileStream类能够以同步或异步这两种模式之一打开文件,而且对同步方法(Read和Write)和异步方法(BeginRead和BeginWrite)有显著的性能影响
    。在Windows系统中,如果输入输出数据小于64KB,则采用同步模式较好,而当大于64KB时,则最好采用异步模式。


    * DirectoryInfo和FileInfo类
    。Directory(File)类的所有方法都是静态的,因而无需具有目录的实例就可以被调用。DirectoryInfo(FileInfo)类只包含实例方法。
    。Directory(File)类的静态方法对所有方法执行安全检查。如果打算多次重用一个对象,请考虑改用DirectoryInfo(FileInfo)的相应实例方法,因为安全检查并不总是必要的。


     

  • 相关阅读:
    程序员如何跨过自我推销的难关?
    常用接口分类与模块设计的方法
    如何设计分层架构和交互接口 API ?
    如何建立架构师的立体化思维?
    从程序员到架构师的技能图谱
    selenium鼠标、键盘操作常用API
    selenium元素定位之-css定位
    python每日一练之集合set
    selenium2简单的定位方法和Xpath定位
    python之元组
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/1439241.html
Copyright © 2011-2022 走看看