好吧,我知道应该调用它的是 IIS。反正; 我有一个 Sharepoint 解决方案,当在文档库上单击具有特定扩展名的文件时,它应该返回一个特殊字符串。
在相应的 web.config 文件中,我有以下内容来运行这个 HTTP 处理程序:
<system.webServer>
<handlers>
...
<add name="MyFileHandler" path="*.bar" verb="*" type="Foo.Example.MyHandler, Foo.Example, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3b53a24010893ac2" resourceType="File" />
...
</handlers>
</system.webServer>
HttpHandler 类是这样的:
namespace Foo.Example
{
public class MyHandler : IHttpHandler
{
public MyHandler(){} //For breakpoint
public void ProcessRequest(HttpContext context)
{
//Do stuff and write to response.
}
public bool IsReusable
{
get { return false; }
}
}
}
当我尝试在 Sharepoint 上打开带有“.bar”扩展名的文件时,它返回 404。我在 ProcessRequest 中所做的事情不相关,因为当我调试处理程序时,我可以看到调用了处理程序的构造函数,但没有调用“ProcessRequest” . 除了调试器之外,我还放置了调试行(File.AppendAll),再次根据调试输出调用构造函数。
IIS 7.5.7600
Sharepoint 2010 基金会