使用PB进行.NET开发的第一大障碍就是环境配置问题,无数人在这上面遇到问题(也包括我,但是别怨SYBASE,JAVA开发的环境配置问题更痛苦)。希望接下来的这两章能为大家扫平进入PB.NET的第一大障碍。
安装 IIS服务器
开发Web Forms 和 智能客户端程序前必须在开发机和服务器上安装IIS5.0以上的版本,客户端机器不需要安装IIS。安装IIS前手上必须有Windows操作系统的安装光盘,然后从控制面板>添加删除程序/添加删除windows组件进入windows组件向导窗口,选中Internet信息服务然后跟随向导一步步完成安装。如果你安装XP时使用的是一些精简版的盗版系统,那么建议你换成正常的未经改造的Win版本,否则可能在添加删除windows组件里根本找不到IIS。如果是Vista用户, go to the Programs and Features page in the Control Panel, select Turn Windows features on or off, and select Internet Information Services.
值得注意的是如果你先安装了.NET Framework后安装IIS5.0(我就是这样的,结果一运行web forms程序就提示‘访问IIS元数据库失败’),那么必须手动为IIS注册ASP.NET,方法是进入DOS窗口并切换到.NET Framework的安装目录下运行以下命令:D:\WINDOWS\Microsoft.NET\Framework>aspnet_regiis.exe -i
执行注册命令时可能提示遇到一些错误,不用理会,重启IIS就行了。
另外,当我们以目录文件形式将程序发布到远程服务器上时(即IIS和开发机器不在同一台电脑上),PB需要通过Windows Management Instrumentation (WMI) 接口来传递一些信息(诸如IIS和操作系统版本信息),使用WMI接口是需要有管理员权限的,因此如果远程服务器的管理员帐号做了一些修改就可能需要重启电脑后再发布程序。如果是以MSI方式发布就不存在这个问题。
注:发布到IIS有两种方式,一是MSI,二是直接deploy到远程IIS,第2种方式有个前提,远程那台机器上必须有一个和管理员权限的帐号和本机的登录名、密码完全相同(比如两台机器的administrator密码采用同一个且本机用administartor登录后发布程序)。
为IIS选择ASP.NET
安装完IIS后必须为IIS选择合适的ASP.NET版本,如果你装了很多个版本的.NET Framework你还可以分别为不同的应用程序选择不同的ASP.NET的版本。
以下步骤说明如何在一个站点上配置ASP.NET:
-
选择Win开始程序的‘运行’
-
输入 "InetMgr"以打开IIS的管理窗口
-
在左边面板的树形里展开 本地计算机>网站>默认网站
-
右键选择默认网站的属性
-
点击ASP.NET属性页选择ASP.NET版本为:2.0.50727或更新版本
查看和修改全局属性
细心的朋友一定注意到工程的属性窗口里有一项configuration,它有点类似配置文件的作用,比如Ajax的等待窗口提示是英文的,在这里你可以修改成中文。这一项configuration在PB里可以设置,也可以在发布后在IIS管理器上修改: 在上一个图中的ASP.NET属性页,点击Edit Configuration(编辑属性)即可。
发布到IIS的目录结构说明
当我们发布一个.NET Web Forms程序到IIS时,PB会自动在IIS ROOT目录下创建两个子目录,一个以applicationName名字命名,一个以applicationName_root命名。
applicationName目录包含已经生成的cs and aspx 文件, 包括资源文件、PB类库等等。
applicationName_root包含文件目录处理、右键、日志、打印等,seesion产生的文件也在其中。在这个目录下还有产生pbtrace.log 文件,当出现错误时你可以访问这个文件来获取帮助。
数据库连接时的权限配置
开发.NET Web Forms时如果你使用的是SQL Anywhere?数据库,那么你必须给以下用户授予完全访问Sybase\Shared 和 Sybase SQL Anywhere 目录及其子目录的权限:
ASPNET user (IIS 5 on Windows XP),
IIS_WPG user group (IIS 6 on Windows 2003)
IIS_IUSRS (IIS 7 on Windows Vista)
连接ORACLE数据库时也存在同样问题导致连接失败,解决方法:
1、找到oracle的安装目录,比如d:\oracle\ora92
2、为安装目录授权,添加IUSR_Machine(Internet 来宾帐户)和IWAM_Machine(启动 IIS 进程帐户) 和ASP.NET并设置他的访问权限且运用到下面的所有文件夹及文件。如果你是XP系统,需要在资源管理器中打开菜单工具>文件夹选项 切换到查看属性页,找到使用简单文件夹共享将它取消(我的系统是NTFS文件格式,如果是FAT32不知道是否会有问题)
3、重新启动机器
Telerik RadControls
Telerik是一家公司的名字,主要从事.NET平台下的开发工具和UI组件。RadControls是这家公司的一个产品,PowerBuilder用它实现浏览器上的工具栏/菜单/日期下拉列表/日历/树形控件等等。因此当我们开发一个BS程序时会自动将RadControls发布到IIS上,而且有了这个组件我们就不需要再使用IE Web Controls了。
安装AJAX extensions
AJAX这几年实在是如日中天,因此在PB中也使用了这项技术,你必须在IIS所在的机器上安装AJAX扩展组件,该文件可以在http://www.asp.net/ajax/downloads/archive下载,你最好安装AJAX Extensions version 1.0 (build 61025.0)。