SharePoint HttpModule和SharePoint Designer的冲突

前段时间为SharePoint写了一个HttpModule来将对重定向对某些页面的请求,结果发现有一个副作用,会和SharePoint Designer有冲突.

具体表现为启用了这个HttpModule之后,SharePoint Designer在打开aspx页面时会报以下错误:

服务器不能完成您的请求.

soap:Server服务器无法处理请求。 —> 无法完成此操作。 请重试。 —> 无法完成此操作。 请重试。<nativehr>0×80004005</nativehr><nativestack></nativestack>

排除了HttpModule代码对该文件路径的影响之后,开始考虑是不是事件顺序的缘故.

之前这个HttpModule是在PostAuthorizeRequest事件中处理重定向逻辑的,经过一番尝试,最后发现只要使用的事件早于PostRequestHandlerExecute,就会引发SharePoint Designer出错.

具体原因未知.

另附上HttpApplication中的事件触发顺序:

  1. BeginRequest
  2. AuthenticateRequest
  3. PostAuthenticateRequest
  4. AuthorizeRequest
  5. PostAuthorizeRequest
  6. ResolveRequestCache
  7. PostResolveRequestCache
  8. PostMapRequestHandler
  9. AcquireRequestState
  10. PostAcquireRequestState
  11. PreRequestHandlerExecute
  12. PostRequestHandlerExecute
  13. ReleaseRequestState
  14. PostReleaseRequestState
  15. UpdateRequestCache
  16. PostUpdateRequestCache
  17. EndReques
另:据说事件过于靠前还会使SharePoint无法上传文件。

Leave a Reply