gpt4 book ai didi

asp.net - HTTP 处理程序使用 Cassini 工作,但不适用于 IIS 6

转载 作者:行者123 更新时间:2023-12-04 14:21:20 24 4
gpt4 key购买 nike

我创建了一个示例项目来简化我的问题。我有这个简单的处理程序:

public class HandleThis : IHttpHandler, IRequiresSessionState
{

public void ProcessRequest( System.Web.HttpContext context )
{
// Score.aspx just says "success"
context.Response.Redirect( "Score.aspx" );
}

public bool IsReusable { get { return true; } }
}

然后,在我的配置中,我有这个:
<httpHandlers>
<add verb="*"
path="Survey"
type="HttpHandlerTest.HandleThis, HttpHandlerTest" />

现在当我点击 http://server/Survey我的处理程序触发。

如果我更改我的项目以使用 IIS 6 运行,它不会触发 (404)。
我尝试通过以下方式在 IIS 中手动添加处理程序:
- 网站属性
- 主目录
- 配置
- 添加(浏览到我网站的 .dll),扩展名:调查,取消选中“验证该文件存在”

我注意到 IIS(很有帮助)添加了“。”在我的分机前面,所以我用“b.Survey”点击了网站;还是404。

当然可以在 IIS 6 中添加处理程序吗?

最佳答案

“我尝试通过以下方式在 IIS 中手动添加处理程序: - 网站属性 - 主目录 - 配置 - 添加(浏览到我网站的 .dll),扩展:调查,取消选中验证文件存在”

听起来您使用了错误的“可执行”路径。可执行路径应该指向 aspnet isapi dll,而不是包含 HttpHandler 实现的 dll。

尝试使用 .aspx 扩展名映射到的相同路径(通常是:c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll)。

关于asp.net - HTTP 处理程序使用 Cassini 工作,但不适用于 IIS 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/956139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com