.NET框架是一种基于通用语言的编程框架,提供了崭新的编程模型:WebForm模型和WebService模型,提供了完善的基础类库、数据库访问技术ADO.NET和网络开发技术ASP.NET,为Web应用的开发提供了强有力的支持。
1、Web页的实现
.NET框架提供了WebForm开发模型,利用内嵌的各种服务器组件来生成服务器端Web页。它可以包含一些重要的页面元素:用户控件或者自定义控件等。用户控件User Control在.NET框架中是以.ascx为扩展名的文件,可以在多个Web页面中使用,实现代码的重用。自定义控件Custom Control是在.NET中创建或在原有控件上进行修改,添加新功能,以实现特定需求的控件,可以被多个应用程序调用。
2、Web页导航方式
.NET框架中的页面导航方式体现了Web页之间的关系,可以用下列四种方式实现。
(1)超级链接
使用HTML超链接控件或HyperLink控件可以实现页面之间的链接。其中HyperLink服务器控件允许在代码中改变其NavigateUrl属性,从而构造出具体目标可根据应用的当前状态动态变化的超链接。
(2)用Response.Redirect 实现
当Response.Redirect( )方法被调用时,创建HTTP应答,其中指出了状态代码302(表示目标已经改变)和新的目标URL。浏览器接收到该应答,发出一个对新URL的请求。 即重定向操作发生在客户端,涉及到两次与服务器的通信。
(3)用Server.Transfer 实现
这种方法把执行流程从当前的ASPX页面转到同一服务器上的另一个ASPX页面。但新的页面仍使用前一页面创建的应答流。 浏览器中的URL不会改变,重定向完全在服务器端进行。因此,这种方法能够避免不必要的网络通信,获得较好的性能和浏览效果。
(4)用Server.Execute 实现
此方法允许当前的ASPX页面执行同一服务器上的指定ASPX页面,指定的ASPX页面执行完毕后,控制流程返回原页面中发出Server.Execute( )调用的位置,被调用页面能够访问调用页面的表单数据和查询字符串集合。默认情况下,被调用页面的输出追加到当前应答流。但是,Server.Execute( )方法有一个重载的方法,允许通过一个TextWriter对象获取被调用页面的输出,而不是直接追加到输出流,这样,在调用页面中可以方便地调整被调用页面输出结果的位置。
3、数据库操作
数据库处于Web应用的最底层,存放系统数据和部分后台数据库逻辑,如存储过程、触发器等。它与业务逻辑层和用户界面分开,易于管理和维护,执行效率高,安全性能好。
(1)Oracle数据库操作
.NET框架提供了System.Data.OracleClient和System.Data.OleDb 命名空间,实现对Oracle数据库的支持,其中前者的针对性较强,本文的实例中使用了此命名空间。
数据库连接字符串为连接数据库提供必要的参数,通常保存在配置文件web.config中,以简化代码实现和便于部署。
Web应用中对数据库的操作频繁,通常情况下,把对数据库的各种操作集成在一个数据库操作类中,在需要进行数据库操作的地方只需调用此类的各种方法即可。
(2)Oracle数据库中LOB对象的存取
Web应用中的二进制文件、图片、大段文本等在数据库中的存取,通常都要用大对象(LOB)实现。.NET框架提供了OracleLob类来完成对Oracle中BLOB、CLOB、NCLOB等数据类型的操作。Oracle中实现大段文本存入CLOB字段的过程可以表示为:
①用SQL语句向数据库中添加一个CLOB字段为empty_clob( )的记录;
②开始事务,锁定刚加入的记录,把要写入CLOB字段的内容用流或CLOB的Write( )方法写入;
③提交事务,完成对CLOB字段的写入;
Oracle中对CLOB类型数据的读取过程相对简单,不需要对数据库记录进行锁定:
①执行SQL 语句获得OracleDataReader对象;
②用OracleDataReader对象的GetOracleLob( )方法得到要读取的CLOB字段的OracleLob对象;
③用OracleLob对象的Read( )方法或流读出CLOB字段的内容;
结束语 系统建模对软件开发过程相当重要,UML的扩展机制为Web应用的建模提供了必要的支持。.NET框架为Web应用的开发提供了很好的解决方案。本文首先分析了常见的Web应用的构架模式,然后把Web应用的UML建模与基于.NET框架的开发结合起来,提出了对Web应用中的各种对象进行建模的方法,对开发过程中的相关重要问题进行了阐述,并针对现有文献中较少涉及的Oracle数据库的操作提供了详细的解决步骤,希望能起到抛砖引玉的作用。
查看本文来源