ASP开发准则

精贴 置顶
1768 0

应用程序服务器被,或最终将被 Web 服务器所使用,它通常是运行 ASP 页面的 IIS 计算机。ASP 是您的对象的唯一客户机。它带来了专门的线程和安全考虑。

虽然许多使用 ASP 的 Web 站点根本就不用组件,但在这篇文章中假定 ASP 是 Internet 客户机和组件之间的桥梁。下面的 asp/server01242000.asp">ASP 组件准则(英文)提供

ASP 和组件之间的划分服务

ASP 最常用于在服务器上创建供客户机使用的 HTML 或 XML 文件,因此我们主要讨论这种使用方案。这就引出了一个常见的问题,如果 ASP 页面在服务器上,那么它们是否属于业务层的一部分呢?在组件世界中,答案通常是否。虽然 ASP 确实在服务器上运行,而且可能与应用程序服务器在同一个空间,但是这不能使它成为业务逻辑的一部分。

随着用户界面工具的发展或者随着启用更多的业务对业务方案,拥有这种明确的区别将获得巨大的回报。

话说到此,让我们来看一些最重要的业务层和表示层划分准则:

  • 令 UI 代码与业务逻辑分离。这包括编写与 UI 耦合的代码,例如使用 ASP 内部组件的 MTS 对象,让它与业务逻辑代码分离,如同在不同的 DLL 中。

  • 将事务与 ASP 页面分离。事务 ASP 在某些情况下非常好,但是组件和多层应用程序会改变这种情况。组件不应该依赖由客户机层来管理它们的事务和业务逻辑语义。

  • 将表示组件(使用请求和响应的组件)与 Web 服务器放在相同的机器和/或进程中。如果将使用 ASP 内部组件对象的对象放在远程机器上,那么对内部组件的所有调用将以回调形式发生。调用 IIS 客户机的是 COM+ 服务器,它显著降低了性能并使安全配置复杂化。可以将这些调整对象放在标记为“库激活”的 COM+ 应用程序中。

ASP 存在于服务器上,因此 ASP 页面必须符合资源共享规则,并且记住可伸缩性。请看下面的详细内容:

  • 在“会话”中,管理应尽量避免用户特定的状态。

  • 保持 ASP 无状态,并在可能的情况下允许资源池。

操作方式

在评价某个代码段是否属于业务逻辑或者表示层时,请问一下自己,“如果我必须用按键式电话应用程序代替我的 ASP 页面,那么该代码是否还有用?”如果答案为“是”,那么可以尝试将它划分为业务逻辑代码或者用户界面帮助器代码。

如果改变了客户机后该代码不能用,或者如果它是构造用户界面的帮助器,则该代码属于表示服务层。它在 ASP 页面中,或在使用 ASP 内部组件的组件中。它不属于业务对象组件。

理解桌面与 ASP 客户机的区别

ASP 是组件的特殊客户机,不同于桌面上的传统单线程 Win32 应用程序。主要区别概括如下。

  • 线程管理:ASP 是多线程客户机。这意味着可以有许多并发活动一起运行,也许在同一时刻处理不同的 ASP 页面。这说明不能使对象伪称它是唯一的使用者来独占系统。这样做可能有意外的反应,例如,养成一个坏习惯:将对象存储在 ASP 会话或者应用程序变量中。

  • 安全环境:ASP 是由 Web 站点中的 Internet Information Services 5.0 执行的,有低、中、高三种隔离度。甚至这些 Web 站点可以有不同的安全设置、允许或拒绝匿名访问、验证客户等等。所有这些设置产生了大量的方案,即不同的用户帐户最终用的是您的对象。

  • 轻松增长:这不是技术问题,而是 Web 应用程序所提供设施的副效应。传统上,为桌面应用程序增加用户基,要求仔细计划好向已知数量客户机的转出。ASP 已经改变了该过程。在启动和运行后,ASP-Visual Basic 应用程序可以方便地打开,供当地的或世界范围的所有职员、所有业务伙伴和所有客户使用。可以用这种方式描述 — 拥有超链接的单个电子邮件可以使用户基成十倍地增长。您的应用程序为此作好准备了吗?唯一了解的方式是对 Web 站点进行强度测试,以获得实际性能的预期值。关于强度测试的详细信息,请参阅“应用程序生命周期”一节。

在 ASP 内应该如何使用 Visual Basic 对象?在页面范围内创建和取消您的对象。也就是说,尽可能使 ASP 页面无状态,只在暂时状态下依

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
用ASP实现网页BBS 2010-11-01
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
傍大款 2013-06-17
《节奏大师》中大家想不到这十首... 2013-09-11
Win XP默认Guest帐户设置修改攻略... 2010-10-21
其它的ASP常用组件 2010-10-25
UrlRewriter重写地址的POSTBACK后... 2010-09-11
你会接受扁平化设计吗? 2013-08-17
Unicode的一些类型转换问题 2013-11-11
冯仑:朋友决定视野 2010-09-27
URL标准化是什么意思? 2010-09-23
ASP如何获取客户端真实IP地址 2010-11-01
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都