那麼,我知道它是應該調用它的IIS。無論如何;我有一個Sharepoint解決方案,它應該在文檔庫上單擊具有特定擴展名的文件時返回特殊字符串。Sharepoint 2010不會調用我的自定義HttpHandler的ProcessRequest
在相應的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的基礎