IIS7的安装
Windows Vista中IIS7是默认不安装的,所以在安装完Windows Vista之后如果需要安装IIS7的话,就要自己动手了。安装的步骤为:开始》控制面板》程序》打开或关闭Windows功能》Internet信息服务。IIS7安装时需要注意的是,如果需要ASP、ASP.NET等的支持,是需要把功能模块给装上的,默认是不安装的。
控制面板中“程序”的位置
“程序”中“打开或关闭Windows功能”的位置
如图,安装IIS7时需要选择要使用的功能模块
IIS7安装完成之后可以在开始菜单的所有程序中看到“管理工具”,其中有一个“Internet信息服务管理器”,如果没有可以按以下步骤添加:开始》右击属性》“开始”菜单选项卡》自定义》把“系统管理工具”设置为“在所有程序菜单显示”或者“在所有程序菜单和开始菜单上显示”。
打开Internet信息服务管理器就可以看到IIS7的主页了
IIS7配置ASP+Access使用环境
默认装完IIS7之后,使用ASP程序会发现提示数据库连接失败,在网上找了找,说是因为MS Jet引擎改变了临时目录的位置,但是又没有对临时的存取权限,导致数据库使用失败。
先要设置应用程序池(Application Pool)为Classic .NET AppPool,而不是默认的Default AppPool,可以在网站目录里对每个站点设置,也可以在站点进行单独设置。选择好要设置的站点之后,点右边的“基本设置”即可调出应用程序池设置对话框。
然后再给“系统盘:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp”目录添加一个“Authenticated Users”的用户,其中AppData目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。
设置权限步骤:右击Temp文件夹,选择“属性”》选择“安全”选项卡》单击“编辑”》出来“Temp 的权限”对话框,单击“添加”,在下面的“输入对象名称来选择”中输入Authenticated Users,确定》返回到“Temp 的权限”,将Authenticated Users的权限中的完全控制给勾上,确定》确定。
启用父路径支持
在站点主页上选择“ASP”,然后在“行为”组中将“启用父路径”设置为True即可。
至此,完成了Windows Vista中IIS7的安装及使用ASP+Access的配置。
传统ASP程序开发者使用IIS7的小提示
至今还有这么多传统ASP (Classic ASP) 应用程序和开发者,真让我感到惊讶。我还记得96、97年的时候IIS3问世,我体验了最原始的ASP程序,并为它与ColdFusion相比表现出的惊人的可编程性赞叹不已。使用传统ASP我建立了许多应用, 它将成为我记忆中永不褪色的闪光点:)
使用传统ASP编程的开发人员应该对IIS7的几个小变化引起注意。
ASP缺省不安装
重要的事先来! 如果从XP迁移到Vista / Longhorn Server, 您也许会得到这个错误:
--------------------------------------------------------------------------------------------------------------------
HTTP Error 404.3 - Not Found
Description: The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and is not allowed.
--------------------------------------------------------------------------------------------------------------------
这是您没有安装ASP组件时的情形,所以去您安装IIS的地方找到IIS/WWW Services(WWW服务)/Application Development(应用程序开发)/ASP 来安装它。:)
Access 与传统ASP
很多人使用Access作为数据库-因为它小巧,可复制, 容易处理。我们在Vista IIS7的一个变动就是缺省不使用ASP和Access。本篇我将详细描述这一变化, 但根本上这是因为应用程序池(Application Pool)缺省不再使用\windows\temp, 而改为应用程序池身份档案(identity's profile)和临时目录。并且因为只有"网络服务"才能向网络服务的临时目录执行写入操作, ASP使用虚拟身份(impersonated identity)访问数据库, 所以匿名或已认证的ASP应用程序就会中止。如果您在IIS7使用ASP+Access、你大概会看到与以下提示类似的错误信息:
--------------------------------------------------------------------------------------------------------------------
Microsoft JET Database Engine error '80004005'
Unspecified error
--------------------------------------------------------------------------------------------------------------------
回答很简单: 关闭loadUserProfile, 或者设置temp directory的访问权限以允许写操作. 这一问题和其它兼容性问题导致, 我们考虑在Longhorn Server / Vista SP1中取消这一变化.
不过现在, 您可以在下列措施中任选一项:
这个 appcmd 指令将为缺省应用程序池关闭 loadUserProfile. 假如您的程序运行于不同的应用程序池(AppPool), 就相应改动一下:
%windir%\system32\inetsrv\appcmd set config -section:applicationPools /[name='DefaultAppPool'].processModel.loadUserProfile:false
这条命令将把网络服务的临时目录权限改为可读可写。如果你是以另一个身份来运行程序,那么你还需要将那个身份的临时目录权限给打开:
icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant Users:(CI)(S,WD,AD,X)
icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant "CREATOR OWNER":(OI)(CI)(IO)(F)
脚本错误默认为不在浏览器中显示了
作为安全策略的一部分,我们关闭了ASP的自动在浏览器中显示脚本错误的提示。也就是说一般用户将不会再看到你的语句到底是哪一行出了差错。取而代之的是这个错误提示:
--------------------------------------------------------------------------------------------------------------------
An error occurred on the server when processing the URL. Please contact the system administrator
--------------------------------------------------------------------------------------------------------------------
要想恢复到IIS6的状态也很容易,运行下面命令即可:
%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser<wbr>:true
或者你可以在窗口界面中找到以下这个选项:
之后你就能看到这样的错误提示信息了:
--------------------------------------------------------------------------------------------------------------------
Microsoft VBScript compilation error '800a03ea'
Syntax error
/test.asp, line 4
Response.Write("I love classic ASP" && foo)
-------------------------------------^
--------------------------------------------------------------------------------------------------------------------
父目录默认是不能访问的
在IIS6中我们默认屏蔽了父目录的访问,但是一些从XP升级到Vista的用户显然遇到了麻烦。因为在IIS5.1中,父目录默认是可以访问的。所以如果你使用了../../../includeFile.inc这样的路径,你就会得到这样的错误提示:
--------------------------------------------------------------------------------------------------------------------
Active Server Pages error 'ASP 0131'
Disallowed Parent Path
/test.asp, line 1
The Include file '../bad.inc' cannot contain '..' to indicate the parent directory.
--------------------------------------------------------------------------------------------------------------------
要想恢复到IIS6的状态也很容易,运行下面命令即可:
%windir%\system32\inetsrv\appcmd set config -section:asp -enableParentPaths:true
或者你可以在窗口界面中找到以下这个选项:
如果你是用IE测试的,去掉高级选项里的“显示友好HTTP错误”再看看。
IIS管理器-ASP-Debugging Properties--Send Errors to Browser,改为True。
最好一步给存放的网页代码的文件夹everyone 的权限就搞定了
</wbr>
分享到:
相关推荐
解决方法:An error occurred on the server when processing the URL. Please contact the system administrator 在WINDOWS7或SERVER2008上安装了IIS7.5,调试ASP程序时出现以下错误: An error occurred on the ...
异常A generic error occurred in GDI+的解决办法
myeclipse弹出an internal error occurred during:"initializing"java tooling.有时候myeclipse总是在保存的时候弹出错误,只要保存就弹出.本资源可以解决报错问题
实用开发工具Myeclipse,在启动tomcat时,不间断的会弹出 An internal error occurred during: "Calculating completion proposals...". java.lang.NullPointerException的错误对话框!
drupal7 导入翻译出错 An AJAX HTTP error occurred 现象解决办法
主要介绍了关于eclipse安装spring插件报错An error occurred while collecting items to be installed...解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...
An error occurred installing Package Control-附件资源
NULL 博文链接:https://xiaoxuejie.iteye.com/blog/1679119
VS2005/VS2008软件发布问题:SignTool Error: An error occurred while attempting to sign 处理方法
根据本人运维经验,结合openVPN社区相关案例,针对TAP-Windows-adapter安装失败“an error occured installing the TAP device driver”错误提示,提出五种解决方案
万恶的An error occurred during local report processing异常 出现这个异常有很多原因,下面介绍一下由于VS版本问题造成这样的异常: The report definition has an invalid target namespace ...
SVN汉化版,妈妈再也不用担心我英文不好了。
开机硬盘引导失败解决办法,A disk read error occurred如何解决
解决MyEclipse10安装VSS插件版本为1.6.2报错:An error has occurred. See error log for more details. (本人64win7 安装:10.7版本 64 位 32位 均可以使用) 原因:版本旧,原来做vss插件的后来就没有更新,现...
IAR for stm8 debugger-support-files 解决问题===> An error occurred while retrieving GDI features: gdi-error [40201]: Can't access configuration database
.uchome开启漫游是提示:An unknown error occurred. Please resubmit the request. (ERRCODE:1)(ERRCODE:50)
对于DB2“SQL2421N 不允许表空间级备份,因为未启用前滚恢复。”解决方法