如何以及为何创建Search .NET版(3)_.Net教程
推荐:ASP.NET网络编程中常用到的27个函数集1、DateTime 数字型 以下为引用的内容: System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.
构建并行解决方案
当时我们遇到的最大挑战是,我们在开发 Search 2.5 的同时,也在将整个 Search 应用程序移植到 .NET 框架的 ASP 技术。由于要在 PDC 日期之前推出此应用程序并将其移植到 .NET,周转时间紧,因此我们当时决定同时推出这两种版本,并将它们同时上市。很明显,这是一项艰巨的任务,因为我们必须管理新的版本,了解新型 .NET 框架的所有功能和新的语言隐喻,构建具有各种软件平台服务的服务器,等等。
关于我们是如何搞成这个项目的,还有一段有趣的故事呢。为了确保同时推出两种版本(Search 2.5 和 .NET 框架,我们在项目规划阶段确定了首先把握住哪些组件不变、哪些组件在开发过程中变化最大以及哪些组件适合于哪种技术和语言。
我们还及早确定目标,努力分解此应用程序,并按照客户可能会采用的方式移植。因为我们 microsoft.com 的人总是认真对待客户在进行技术决策和研究投资回报时面临的各种问题,所以,我们将此应用程序移植过程分解成许多部分,每个部分都尽可能与客户可能采取的方法接近。我们希望确保做好每项工作,其中包括最简单的移植(即,小脚本移植到 Jscript 类)直到最大的时间和技术利益投入 – 充分利用 C# 编程语言完全移植到 .NET 框架 (100% 可管理的代码空间)。
下面是我们在应对这个挑战时所采取的一些步骤:
首先,我们将主要的 ASP 页面转换为 ASP 。最初,我们是通过 .NET Reflection 技术调用小脚本,这样我们可以在运行时通过查询类型库来调用典型的 COM 对象。
重要知识:我们从具有 ASP 的编程模型出发(其中,数据、业务逻辑以及表示全都被混合在一起),然后采用 ASP 的一种完全面向对象的方法,最后是数据分离、编程以及 UI。
其次,处理最简单的小脚本并将其移植。BestBets 是最简单的组件,并且不依赖于 COM 组件。我们决定使用 System.IO、XML Data Navigator 以及 C# 编程语言将这个组件作为 DLL 移植。我们希望将这个组件完全移植到受控环境,并使其充分利用 XML Data Navigator。
重要知识:我们了解了 NewXml 命名空间。同时,我们在移植组件时去除了 .NET Reflection。这样我们就可以在本地调用这些组件。
然后,我们以同样方式处理 Vocabulary 小脚本。这个组件在复杂性和代码行方面处于此应用程序的中间。它由一个小脚本组成,这个小脚本包含用于 Search 的业务和文本解析规则,并对 C 组件进行调用,我们创建该组件的目的是包装 COM 对断字程序的引导调用。这个组件在移向受控空间方面具有最大优点。这个复杂组件被全部移植到 .NET 框架和 C# 编程语言。这需要一些技巧,因为,它包含更为复杂的函数逻辑,并需要利用一个自定义 COM 对象。但这还不算太难。下一步将抛弃 C 包装并直接调用这些接口。
重要知识:我们更改了函数和逻辑以便受益于象类型安全这样的 C# 的关键优势。在使用 Jscript 时,开发人员必须铭记每个变量的类型(整数、字符串)。C# 会为您做到这一点。所有变量在声明时确定,并且 C# 会检查您的工作以便确保没有越界。这在处理复杂代码时帮助很大。备注: 在 JScript 的下一个版本中,程序员将可以选择完全确定变量的类型。
移植最终组件:SearchResults。最初,我们通过 .NET Reflection 调用这个组件,而且情况良好。由于这个代码太大并相当复杂,同时由于在我们推出 Search 2.5 版本之前对该版本作了一些根本性的更改,因此移植该代码的工作一直持续到现在。在 .NET 测试版中找不到它,但该项工作已取得重大进展。10 月份晚些时候将发布该版本的更新。
总之,这个体系结构是一个杰作。我们拥有一些真正的 C# .NET 组件,我们拥有所有的 ASMX 页面。而且,我们演示了可以通过 Interop 调用自定义 COM 对象,以及通过 .NET Reflection 调用小脚本。传统的对象(比如,SearchResults)可以消耗由 C# 对象(比如,Vocabulary) 创建的数据结构,这是非常好的事。
在您审查 .NET Search 测试版之前值得一提的是,这个体系结构中没有用户界面。您所看到的是一项 Web 服务的默认情况。我们本来是可以添加一个 UI 的,但是我们之所以保留成现在这样,是想让您看到其本来面目。
请作者联系本站,及时附注您的姓名。联系邮箱:mb5u#vip.qq.com(把#改为@)。
分享:关于ASP.NET在IIS一些问题的经验总结很多开发人员对于IIS和ASPNET的安装等问题困扰,特此做下面的小总结,请大家多交流!iis 坏了修复办法! 一般IIS运行不了ASP.NET,试一下下面四种方法,99%有效: 1。.NET 安装的顺序应该是
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程-如何以及为何创建Search .NET版(3)。