我正在寻找一个简单易用的“如何”指南,以获得在IIS 7.0下运行的经典asp应用程序。
如果有任何不同,它位于64位Windows Server 2008计算机上。
答案 0 :(得分:44)
我们已经将一些经典ASP代码移动到64位Windows 2008.以下是我们在此过程中所做或发现的一些事情:
通过托管应用程序开始 在“经典”管道模式下 应用程序池。一旦运行正常,您可以切换到“集成模式”,如果您需要利用它在以后提供的功能。
如果您的ASP应用程序消耗任何
32位第三方或内部
您需要配置的组件
应用程序池以32位运行
模式。 32位DLL不会加载到64位进程中。您可以在中进行配置
应用程序池的高级设置。将Enable 32-Bit Applications
设为True
。
强制执行详细的错误报告
经典ASP,打开网站的ASP'功能'页面,然后展开
Debugging Properties
节点。将Send Errors To Browser
设为True
。
如果您的应用程序使用父路径
你需要在ASP中配置它
设置'功能'页面(与...相同)
以上)。设置在
Behaviour
节点并被命名
Enable Parent Paths
。默认设置为
与IIS6一样False
。
IIS7中的默认匿名帐户
被称为IUSR
。你可以改变这个
打开身份验证
设置网站的“功能”页面并进行编辑
Anonymous Authentication
设置。
更喜欢将应用程序池标识用于应用程序池和站点匿名帐户:Application Pool Identities
答案 1 :(得分:6)
我知道这是一个已有5年历史的帖子,但对于那些延迟迁移/升级旧ASP应用程序的人来说,它仍然是相关的。
这里有一些非常重要的事情,我正在敲打大约2个小时。您如何将ASP应用程序放入应用程序池中,您不能将ASP页面设置为应用程序,它们只是不兼容的技术。
在DUHH时刻,我发现有一个应用程序池分配给整个站点。只需转到“站点”下的“站点”,然后选择“基本设置”并分配应用程序池。
所有其余的都是很好的信息,包括注册你的DLL,我不知道它是否在这个线程中,而且还使用两个不同的odbcad32.exe应用程序进行32位和64位的ODBC连接。
再次感谢,(5年后)。
答案 2 :(得分:3)
另请注意,如果需要注册32位dll,而IIS在32位模式下运行,则应使用\ windows \ syswow64 \ regsvr32.exe dllname.dll。
哦,并确保您没有打开服务器端调试太长时间。这将导致IIS以单线程模式运行(并使其非常慢)。