【发布时间】:2009-08-13 16:09:42
【问题描述】:
我们在 web.config 中指定了一些 HTTP 处理程序。当我们通过网站项目运行该站点时,一切正常。但由于某种原因,在将其移植到 WAP 项目并指向 .NET 3.5 框架后,当我在我们的开发盒上以 IIS 7 启动该站点时,处理程序无法正常工作。除了我的 web.config 中已经存在的指定自定义处理程序之外,我是否需要在 IIS7 中做一些特殊的事情?
当我查看我们网站的 IIS 7 中的处理程序映射部分时,我确实看到了与我们的自定义扩展一起列出的 3 个处理程序。所以看起来它正在获取我们在 web.config 中指定的处理程序。但是我知道在非 wap 网站中工作的处理程序在这个 WAP 项目中不工作,我不知道为什么。
例如,当我们的一个处理程序在被引用时尝试启动时,我得到:
“/”应用程序中的服务器错误。 解析器错误 说明:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当修改您的源文件。
Parser Error Message: Could not create type 'jaxHandler'.
Source Error:
Line 1:
Line 2:
Line 3: using System;
Source File: /jaxHandler.ashx Line: 1
Version Information: Microsoft .NET Framework Version:2.0.50727.3074; ASP.NET Version:2.0.50727.3074
此外,当我尝试点击我们网站上带有 .customextension 的超链接时,处理程序似乎没有拾取它。
所以当我点击超链接时,我得到:
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. Detailed Error InformationModule IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002
Requested URL http://sss:80/somename.prod
Physical Path C:\www\sss\somename.prod
Logon Method Anonymous
Logon User Anonymous
(出于隐私考虑,我已将真实文本替换为“somename”,将我们的公司名称替换为“sss”)。
如果我查看 IIS7 中的 Http Handlers 部分,我确实看到 *.prod 已注册。以下是我们在 web.config 中自定义部分下的设置方式:
<add name="sss" path="*.prod" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="bitness32"/>
【问题讨论】:
-
请详细说明。 “它不起作用”并没有告诉我太多。
-
好的,我添加了更多细节。