精品推荐
ASP 组件指南
日期:2005年8月11日 作者:清风网络学院 查看:[大字体
中字体 小字体 ]
容易掉入的另一个陷阱是从业务组件 中引用 ASP。使 ASP 和业务逻辑耦合(通过使用 请求或响应对象,或在其内部构建 HTML),不仅限制不同的客户机重用您的组件 ,而且限制了横向的可伸缩性。引用 ASP 内置对象的对象应该与 Web 服务器 在同一框围中。理想情况下,由于横向可伸缩性,业务组件 可以分布在不同的框围中。可以直接在 ASP 脚本中提供表达服务,也可以建立呈现引用 ASP 内置对象的组件 的 HTML,并将这些组件 保持在 IIS 框围中。 详细信息 成功的设计模型可用作处理公共业务问题的模型。例如,处理“创建读更新删除(CRUD)” 操作的模型,可帮助您将应用程序分为几个截然不同的逻辑服务,即表达、业务规则和数据访问。 请参阅下文以获得更多的设计模型具体示例,可以在您自己的应用程序中模仿它: Scalable Design Patterns(英文) Simplify MTS Apps with a Design Pattern(英文) FMStocks Application: Start Here(英文) 线程模型 建议 选择组件 的范围还是选择组件 的线程模型,哪种方法优先?两种方法都要考虑线程分支,除非决定在页面范围内使用“单元”或“双重”模型组件 。(如果 Visual Basic 程序员不知道组件 是哪种线程模型,则总是“单元”。) 如果需要在“应用程序”或“会话”中存储对象,则需要使用标记为“双重”的组件 并聚集“自由线程编组程序 (FTM)”。 不要使用“单线程”组件 并避免使用来自 ASP 的“自由线程”组件 。 注意: 如果不小心, Visual Basic 可产生“单线程”组件 。请确保在项目属性页的常规选项卡上将线程模型设置为单元线程。还要注意在相同选项卡上选定无人值守执行和保留在内存中选项。 为什么 如果您使用的是 Visual Basic,它是一种“傻瓜”开发环境。 Visual Basic 仅限于使用“单元”模型。假如 Visual Basic“单元”模型对象执行得非常良好,我不想对页面范围上的限制考虑太多。 Fitch 和 Mathers Stock 2000 破坏了对性能的任何预先想法。另外,由 ASP、SQL 和 Visual Basic 构建的许多现有网站,无时不刻都在证明页面范围的“单元”模型组件 是可伸缩和执行的。 如果在标记为“双重”的组件 上聚集 FTM,则可以不用任何编组或线程切换,便能在线程之间调用。如果标记为“双重”的组件 没有聚集 FTM,ASP 将其视为“单元”线程对象 — 就像 Visual Basic 组件 一样。请记住,如果计划利用“COM+ 对象池”,则不要聚集 FTM。 有关“对象池”的规则,请参阅“平台 SDK”文档。 “单线程”和“自由线程”组件 运行在“系统”安全环境下。更糟的是,“单线程”组件 会导致死锁。 常见的陷阱 也许最常见的陷阱就是使用了没有被设计为在 ASP 下运行的组件 ,如“单线程”组件 。大多数开发人员陷入其中,是因为将桌面应用程序移向 ASP,或者使用了第三方的控件 时。如果您不能确定组件 的线程模型,可以检查组件 的注册表 项(但不能总依赖它)。 详细信息 有关线程模型及其对 ASP 的影响,请参阅下面的文章: Don Box's Active Server Pages and COM Apartments(英文) Agility in Server Components 另外,下面的 KB 文章提供了有关线程问题的详细内容: Q243543 Single-Threaded Apartment Objects in Session or Application(英文) Q243544 INFO: Component Threading Model Summary Under Active Server Page(英文)
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
上一篇:怎样使用ASP实现Ping
下一篇:XML 数据的编码方式
ASP 组件指南 相关文章:
ASP 组件指南 相关软件: