当前位置: 网学 > 编程文档 > ASP > 正文

ASP 指南

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/17
。Visual Basic IDE 并没有准确地模拟运行时环境。常见的设计错误包括:在 ASP 技术中使用需要用户界面的 .OCX 控件,使用对线程来说不安全的组件,和使用要求特殊的用户上下文的组件。要避免的一个最简单的问题,就是从应用程序中试图访问 HKEY_CURRENT_USER (HKCU) 注册表项(例如,不要调用 Visual Basic 的 GetSettingSaveSetting 函数,它们都依赖于 HKCU)。同样,不要出现需要用户进行人机交互的消息框或其他对话框。

以下文章是有关 ASP 技术中的安全和验证问题的相当不错的入门读物:

  • “Authentication and Security for Internet Developers”(英文)
  • “Q172925 INFO: Security Issues with Objects in ASP and ISAPI Extensions”(英文)

原则 3:封装商务逻辑

ASP 技术通过生成 HTML 输出提供了表示服务。简而言之,它会生成用户界面。您需要将商务逻辑从 ASP 表示脚本中分隔开来。即使您不使用 COM 组件将商务逻辑从 ASP 代码中分隔开来,至少也要将商务逻辑分隔到函数和 include 文件中,以提高可维护性、可读性和可重用性。在需要排除故障和隔离问题时,您还能体会模块化设计方法的好处。

调用脚本内部调用函数和方法,可避免代码乱作一团,并能在 ASP 应用程序中添加结构。下面举例说明从 ASP 代码中,将逻辑分离到方法调用中:

 lt;% Main() MyBizMethod() ... Sub Main() GetData() DisplayData() End Sub%>

在使用包含 ASP 功能的技术时,可以应用这一原则。下面举一个使用 Visual Basic WebClass 时的例子,说明如何使用这一原则:

  • 因为 WebClass 本身引用 ASP 代码生成 HTML,所以您不要将商务逻辑直接置于 WebClass 内。因为这是您的表示层,不在 MTS/COM+ 下直接运行 WebClass。
  • 从 WebClass,可以调用能运行在 MTS/COM+ 中的单独商务组件。
  • 您可以决定创建自己的、具有对 ASP 引用的 COM 组件,而不是依赖于 WebClass 框架结构和额外的 WebClass 运行时开销 — 您也可以使用 ASP 脚本直接将商务组件自动化。

原则 4:尽晚获取资源,尽早释放资源

常见的问题是,从桌面系统到服务器的过渡。许多具有桌面系统背景的开发人员从来没有为服务器的一些问题和资源共享担心过。在传统的桌面应用程序中,连接到服务器是个耗时的过程。为了改善用户的体验,通常采用尽早获取资源和推迟释放资源的方法。例如,许多应用程序会在它的整个运行时间内始终连接着数据库。

这种方式在传统的桌面应用程序中能够正常工作其原因是用户数量非常明确,容易加以控制,并且后端与前端紧密连接。然而,对于当前的 Web 应用程序,这种方式已经不可行了,其原因是有限的服务器资源将面对越来越多的用户。为了使您的应用程序能够应付用户的增加,您需要尽晚获取资源,尽早释放资源。

共用有助于增加这一方式的有效性。通过共用,多个用户能够共享资源,而且等待时间最少,对服务器的影响也最小。例如,在处理数据库时,ODBC 连接共用和 OLEDB 资源共用可以实现从共用池中选择连接,最大程度地减少连接数据库的开销。

有关共用 ADO 的详细信息,请参阅“Pooling in Microsoft Data Access Components”(英文)。

原则 5:使用数据库维护复杂的状态

尽管 HTTP 协议是无状态的,ASP 开发人员还是会经常使用 ASP 功能内置的状态保持机制。例如,使用 ASP 技术内置的 Application 对象,开发人员所保存的资源能够为应用程序的所有用户共享。通过使用 ASP 内置的 Session 对象,开发人员只为单个用户保存资源。

尽管听起来在 ASP 技术的 Session 对象中保存信息是一个非常方便的保持状态的方式,然而这一方式付出的代价太大,而且它也可能成为对可伸缩性的最大的限制因素之一。应用程序的可伸缩性本质上是随着用户数目的增长能够继续保持其性

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号