|
作者:J.D. Meier
Microsoft Corporation
2000 年 1 月 24 日
如果您符合以下几种情况,这篇文章正适合您:
从 Active Server Pages (ASP) 代码调用组件
设计将从 ASP 代码调用的组件
希望利用 ASP 代码中的组件
目录
简介
为什么使用组件?
状态管理
范围
分割服务
线程模型
安全性
Server.CreateObject 与 CreateObject
传递参数
事件
OnStartPage/OnEndPage 与 ObjectContext
错误处理
全局变量
分布组件
结论
简介
组件。有人喜欢它们,有人则害怕。害怕组件的人通常都能给您讲一个骇人的经历。让我们面对它:当开始在 ASP 下使用组件时,并不知道什么能伤害您。如果您摔倒了,那么站起来,自己拍干净,然后接着来。在这篇文章中,我将提供从实践中获得的一般指南,帮助您建立更好的基于组件的 ASP 解决方案。
为什么使用组件?
在我开始讨论组件指南之前,值得考虑将组件添加到 ASP 应用程序的价值。许多对组件不熟悉的开发人员总觉得一切都那么新鲜。组件可以为 ASP 应用程序带来以下种种益处:
封装功能和隐藏实现细节
可重用性(包括被不同客户机应用程序重复使用)
知识产权保护
可伸缩性(体现在允许将应用程序分布到多台计算机上)
配置和部署灵活性
性能(尤其在早期绑定是重要因素时)
访问系统,例如 Win32 API 调用或编程语言的任何其他底层功能
键入功能较强(“Visual Basic® 脚本编辑器 [VBScript]”的键入功能较弱,而且 JScript® 也不太好)
业务逻辑与用户界面分离,或者 Web 设计人员与 Web 开发人员分离
利益与付出同在。就增加开发过程的复杂性而论,创建组件解决方案可能更加昂贵。部署和疑难解答也可能变得更困难并成为现实因素。但是,不要让眼前的困难阻碍了长期的利益。如何知道付出的成本是否值得呢?请考虑下列方面:
现有的代码库是如何?
开发队伍的水平和经验怎样?
您对主服务器的控制范围如何?
为特定任务选择了什么样的工具和语言?
存在什么协同问题?
存在性能和可伸缩性的因素吗?
项目时间框架是什么?
谁会继续维护和支持该应用程序?例如,开发小组能介入和接管吗?
审查以上考虑的问题后,请考察您的假设。原型能迅速从设想中得出实际情况。
现在,对组件可能带来的益处有了一定的理解,让我们继续讨论。下面的指南将帮助您获得最大的益处。这些指南可能成为指引您顺利建立更稳定的、可升级的、性能更优的 ASP 组件应用程序的向导。
状态管理
建议
一般来说,在可能的场合尽量使用无状态的组件和无状态的 ASP 页面。组件不应需要状态从一个方法调用到下一个状态。将复杂的状态存储在数据库中。对于简单的数据、沿用 cookies、QueryString 或在页面之间传递数据的隐藏的表单字段。
为什么
服务器资源是有限的。维护组件中的状态意味着应用程序在资源冲突和并发问题时将消耗宝贵的资源。无状态组件将帮助您避免这些问题。无状态组件还提供更多的部署选项,并增强在多个客户机上共享资源的能力。
常见的陷阱
开发人员常犯的错误是设计或使用需要维护状态的组件。请注意防止这种常用于桌面开发的思想。通常,具有桌面开发背景的开发人员会设计出依赖状态的组件。
[1] [2] [3] [4] [5] [6] [7] [8] 下一页 |
|
|
|
|
|
|
|