글쎄, 나는 그것을 호출해야하는 IIS라는 것을 알고 있습니다. 어쨌든; 특정 확장명의 파일을 문서 라이브러리에서 클릭 할 때 특수 문자열을 반환해야하는 Sharepoint 솔루션이 있습니다. 해당 web.config 파일에서 Sharepoint 2010이 내 사용자 지정 HttpHandler의 ProcessRequest를 호출하지 않습니다.
나는이 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)을 넣었으므로 다시 생성자 만 디버그 출력에 따라 호출됩니다.
내가 생각할 수있는 유일한 것은 정말 처음으로 핸들러를 이동하려고하는 것입니다 7.5.7600
셰어 포인트 2010 재단