[译.原创]Delphi.net 初级开发指南(1)

l第一章:

Delphi.Net 配置 Cassini web服务器

 

 

翻译:黄浩,HelsWang@126.com , 转摘请保留完整信息。

原文:http://delphi.about.com/library/weekly/aa030904a.htm

访问本教程所有文章:http://www.cnblogs.com/hels

 

对一个delphi的开发人员来说,什么是Asp.Net?怎么配置Cassini sample web服务器?

Asp.Net? ASP.NET!

OK,让我们快速开始吧!ASP.NET 是用于用HTML来建立Internet应用的.NET的编程环境,Delphi.Net 是完美的、完全支持ASP.NET的.Net 环境。如果你熟悉“老”的ASP,我将很失望的告诉你,ASP和ASP.NET完全不是一回事。作为一个delphi开发者,你应该很熟悉在RAD中用属性、方法、事件来进行面向对象编程,你也将会发现用ASP.NET 模式来开发web应用也是这么直截了当!一些用delphi来开发的asp.net的解决方案也已经在用,比如来自aspxDelphi.net的Web Portal 和 Web Store

Asp.Net 有几种不同的技术组成的,包括Web Forms、Web Services、Web server controls、HTML controls、validation controls【译注:数据校验控件】。当所有这些技术集合在一起时,它们能提供构建健壮的(robust)、功能强大的(powerful)、可持续的(maintainable)、易维护的(scalable) web应用系统的强大能力!

让我们看一下关于这些Asp.Net的技术的一些简单描述:

lWeb Forms: Asp.Net应用的心脏和灵魂。一个典型的web Forms由HTML元素和asp.net的web server控件 组成。这些控件允许你在可重用的内置控件和自定义控件之外快速的构建Web Form的简单页面(page)。ASP.NET Web Forms pages是一个后缀名为.aspx的文本文件。当一个用户在web上第一次访问Forms page时,ASP.NET产生一个已编译的DLL文件,可以动态的在浏览器上输出HTML页面。

l Web server controls: 构建WebForm的基石。Server controls 是在.aspx文件中用自定义的标记或者带有runat="server"属性值的HTML自有标记来声明的。Web Controls非常像标准的delphi vcl 控件,只不过它们“扮演”着一个HTML输出者。Web Controls也有属性、事件和方法,它们实现接口,也能被扩展。

lHTML Controls 和 HTML Server control:“标准”的HTML的基石。在ASP.NET 中的HTML元素非常接近于许多其他普通页面上可以找到的HTML元素(table, span, div, input,等等)。默认的,一个Web Form page中的HTML元素对服务端来说是不可利用的,不过你可以把HTML元素转化为HTML服务端控件:加上属性runat="server"。

lUser controls: 为创建可重用的asp.net代码段提供的一种机制。它有点像web forms,只是没有开始和结束页面标志(page tag)、文件后缀名为.ascx而已,看到asp.net中的user controls,你不妨对比想象一下Delphi中的Win32标准对象Tframe。

lValidator controls: 客户端的校验功能!允许你在asp.net的web controls中检查用户的输入。

lADO.Net:我们不妨这样说:ADO.NET是为了所有的.NET的编程模块包括Web Forms、Web Services和Windows Forms 的后台数据存取而设计的。

lWeb Services:基于XML的程序控件。一个XML Web service提供一个基本功能(比如应用逻辑)。【译注:后面还有一段话我译不出来^-_^】

 

 

关于Asp.Net的更多的常规信息你可以到这看看:Asp.Net QuickStart,这些页面主要是针对Vb.Net 和 C#的开发人员来说的,但你也可以(也应该)看一些asp.net的文章。另外,你也能看到关于“EWF,INTRAWEB,ASP.NET”的对比的文章。

但是,我需要一个web服务器!微软的IIS? Cassini?

Asp.Net是服务端的web开发,为了构建和调试asp.net应用,意味着你需要一个web服务器!默认的,Delphi 8配置微软的 IIS为你的开发/运行/调试平台。如果你没有在你的开发机器上安装 IIS,你也可以在Delphi 8上装载Cassinni sample web服务器。

 

 

 


(1.1)

Cassini Web服务器是一个 C# (.Net)来写的简易web服务器,它使用ASP.NET的钩子API来工作。

根据Delphi 8的安装目录结构,你可以在以下位置找到它的代码:"C:\Program Files\Borland\BDS\2.0\Demos\Cassini",不要被它的C#代码吓住了,我们只是把它作为Asp.Net应用的服务器而已(假如你没有装IIS的话)。

安装Cassini,你需要运行cassini 目录底下的build.bat文件,如果你只是简单的运行一下这个文件的话,你可能得到一个致命错误“'csc' is not recognized as an internal ...”,因为它已经假如你的.Net framework's \bin和 .Net SDK's \bin的路径在你的环境变量里了(因为它要访问csc C#编译器和gacutil.exe)。解决方法是,增加"C:\Windows\Microsoft.NET\Framework\v1.1.4322" 和 "C:\Program Files\Microsoft.NET\SDK\v1.1\bin"到你的系统的环境变量里去,或者修改build.bat文件。当然上面的设置需要你的机器上的目录来定(可以搜索一下"csc" 和"gacutil")。一旦你的Cassini已经运行起来了,你就可以在Project Options里面设置Cassini为web服务器了。在后面的章节里我们还会更多的谈到这些。

“原创”的Cassini项目可以看看这里:Cassini Web Server from Asp.Net

我们的期望值?

现在我们已经知道Asp.Net是什么玩意了,我们也有了需要的工具了,就是Delphi 8和web服务器 ― 我们可以开始用Delphi构建动态的web asp.net应用了。

在本教程里我们面对的是叫BDSWebExample的asp.net例子,如果是默认安装,可以在这里找到:"C:\Program Files\Borland\BDS\2.0\Demos\DB\ASPPortal\BDSWebExample"。本指南的作者就是这个demo的作者。

注意:请确认你需要下载代码的新版本(请保存到"C:\Inetpub\wwwroot\BDSWebExample"【译注:就是放到IIS的根目录下。如果是用Cassini怎么办呢?我也不知道。这个新版本的下载地址可以在原文地址上找到,请读者自行查找吧

 

 

 


(例子运行的截图 1.2)

BDSWebExample例子演示了怎么构建一个“CodeCentral”系统,类似使用asp.net的web网站。它支持用户登陆,产品提交,浏览,页面统计,广告栏系统,等等。你可以在这里找到很多很有用的代码:怎样使用web forms的authentication【译注:抱歉,我真的不知道该译为什么】,绑定数据感知控件,构建user controls,继承创建的web控件(自定义的DataGrid+动态的ItemTemplate;EditItemTemplate,自定义的DataList),怎样使用校验控件(validator controls),JavaScript,等等。

你也看到,我们还有很多的工作要做…,我建议你先快速浏览一个用Delphi.net来创建的动态网站例子:aspxDelphi.net.

 

待续。

posted on 2004-06-25 00:31  浩少  阅读(1422)  评论(0编辑  收藏  举报

导航