传统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:true

或者你可以在窗口界面中找到以下这个选项:

之后你就能看到这样的错误提示信息了:

--------------------------------------------------------------------------------------------------------------------

Microsoft VBScript compilation error '800a03ea'

Syntax error

/test.asp, line 4

Response.Write("I love classic ASP" && foo)

-------------------------------------^

--------------------------------------------------------------------------------------------------------------------

时间: 2024-12-06 04:21:36

传统ASP程序开发者使用IIS7小提示的相关文章

设计一个小程序,将已有的asp程序转换为jsp程序

问题描述 设计一个小程序,将已有的asp程序转换为jsp程序 设计一个小程序,将已有的asp程序转换为jsp程序.运用java与web应用 解决方案 说得轻巧,"设计一个小程序",还"运用java与web应用".这是两种不同的技术,不但语言不同,而且类库也不同,就算用到"编译原理"也无济于事. 解决方案二: 这个跨度可有点大了. 解决方案三: 可以参考: <设计一个小程序,将windows转换为国有操作系统> 解决方案四: 这个比较麻

小程序开发者工具下载及调试指南

昨天晚些时候微信团队发布了微信小程序开发者工具.微信小程序开发文档和微信小程序设计指南,全新的开发者工具,集成了开发调试.代码编辑及程序发布等功能,帮助开发者简单和高效地开发微信小程序.以下是官方文档,内含小程序开发者工具下载地址及调试指南. 下载地址:开发者工具0.9.092300版windows 64版: windows 32版: mac版 为了帮助开发者简单和高效地开发微信小程序,我们推出了全新的开发者工具,集成了开发调试.代码编辑及程序发布等功能. devtools 扫码登录 启动工具时

关于执行IIS与设计ASP程序的小技巧

iis|程序|技巧|设计|执行     1.平均分配前.后端的程序执行负载 ASP的目的并非要取代前端网页的Script程序,相反,前后端应该相互协调工作:可以由前端执行的工作,就不要增加后端的负担.别忘了,一个WEB服务器可能必须同时回应数十位.数百位.甚至数千位使用者的浏览,如果能将逻辑处理工作平均分布在前.后端,就可以让后端的WEB服务器以更快的时间回应前端的需求,或者是替更多的使用者服务. 举例来说,像检查表单数据正确性或完整性的工作,应该以前端的Script来完成,因为如此一来,既可以

Dreamweaver MX 2004做ASP程序

dreamweaver|程序 最近论坛和QQ里总有人问,"我要学习ASP但是不知道从哪里学起?有没有初级入门的教程?",其实本站中已经有好多关于ASP的教程了而且还有相关的书籍提供大家下载,可能是没看到的原因吧?从今天开始我编写个教程教你一步一步学习ASP,在这里我们使用可视话的编程工具Dreamweaver MX 2004来实现开发ASP程序,在以后我将陆续给大家介绍如何开发ASP.NET.PHP,JSP.本教程写得比较简单,上手应该比较容易,大家跟着一步一步做就行了.我的操作系统是Win X

加速ASP程序的运行速度的两种方法

程序|速度 1.使用表格嵌套?  在页面中建立复杂的结构,一般通过在页面中放置HTML表格来实现.如果要建立一个这样的页面:这个页面有一个顶部导航栏一个左边导航栏,一个右边的内容区.可以用一个两行两列的大表格来建立它.第一行中,合并两个列,然后插入一个顶部导航栏.第二行左边的列中,插入一个表格来显示导航按钮.右边的栏中,放置一个表格来实际内容.(见图一)这样嵌套的表格生成的代码是这样的:  <TABLE BORDER="0">  <TR>  <TD COL

浅谈ASP程序的编写和调试:给初学者

程序|初学 很多朋友觉得ASP不是很好学,我觉得其实有了一定的编程基础,再加上那么一点点技巧,入门是不难的(不过要做好也不是很容易,要很多的相关知识--什么Sql Server数据库语言啦,数据结构啦(这些都是在优化Asp的算法时候要熟悉的). 在这只和大家谈谈我个人是怎书写和调试ASP的,希望能给大有一点帮助-- ASP脚本的书写: 一.注意区分清楚html语法和VBScript语法.因为ASP是混合使用Html语法和VBScript语法的(当然,我全部写成VBScript语法也可以,不过那样

提高ASP程序的显示速度

程序|速度|显示 作为一个ASP程序员,你不会怀疑提高Web应用程序性能的重要性.为了让程序运行的更快一些,你可能一直忙于优化数据库或COM组件.如果这些你都做过了,你想到过靠加快最终生成HTML代码在浏览器中的显示速度来提高性能吗?对于最终用户来说,如果页面能显示的更快,你就能赢得更多的赞誉.  提高HTML在浏览器中显示的速度可以通过一些鲜为人知的技术来实现. 1.使用表格嵌套? 在页面中建立复杂的结构,一般通过在页面中放置HTML表格来实现.如果要建立一个这样的页面:这个页面有一个顶部导航

几组实用的ASP程序和JS脚本代码

js|程序|脚本 ASP与Access数据库连接: <%@ language=VBscript%> <% dim conn,mdbfile mdbfile=server.mappath("数据库名称.mdb") set conn=server.createobject("adodb.connection") conn.open "driver={ microsoft access driver (*.mdb) };uid=admin;pw

技巧:最大限度优化你的Asp程序的性能

程序|技巧|性能|优化 ASP 能快速执行你的动态网页,但你还可以通过紧缩代码和数据库连接以使它们执行更快.这是一篇关于怎样精简代码和Asp 特征以获得最快执行速度的详细文章.对于一个急燥的用户来说,任何在按下用户按钮到结果出现在它们的屏幕之间的延迟可能意味着它们会转到浏览其它的站点?假如你的是商业站点,这有可能意味着失去潜在的销售. 我们没有任何办法控制用户的带宽,但我们的确能通过优化Asp 站点来获得最佳的性能.大部分潜在性能的提升是通过系统改变而不是紧缩代码,一个不合适的想法是,一旦遇到系