【问题标题】:ThreadAbortException when anonymously accessing SharePoint lists匿名访问 SharePoint 列表时出现 ThreadAbortException
【发布时间】:2011-02-11 05:31:23
【问题描述】:

在我正在使用的旧代码中,Web 服务访问 SharePoint 列表。
其中一些列表需要特殊权限,因此在首次访问时需要用户凭据。

然而,在我向应用程序添加一些日志记录后,我注意到当用户第一次尝试调用 Web 服务时,实际上会发生以下情况:

  • 网络服务开始正常运行;
  • 当项目需要特殊权限时,SharePoint 会发送 HTTP 401,它会变成 ThreadAbortException
  • 向用户显示凭据框;
  • 登录后,再次调用 Web 服务,这次没有问题。

这实质上意味着 SharePoint 调用之前的代码在这种情况下会运行两次。
在运行任何代码之前显示凭据框的正确方法是什么?
应该禁用匿名访问是IIS的情况吗?我怀疑是这样,但我在配置 Web 项目方面经验不足,所以我感到困惑。

【问题讨论】:

    标签: sharepoint iis http-status-code-401 threadabortexception


    【解决方案1】:

    当 ASP.Net 应用程序执行重定向时,ThreadAbortException 是正常的。在这种情况下,您正在调试以便捕获异常。

    最好的建议是忽略该错误,因为它是 expected 异常。

    【讨论】:

    • 是的,但我不希望代码将某些内容写入数据库,只是为了在某些 SharePoint 调用中发现用户需要在状态已修改时首先进行身份验证。
    • 标准过程是尝试调用无身份验证,收到 401,然后尝试使用 Windows 身份验证,因此您描述的场景正是我所期望的代码正确运行的场景。
    猜你喜欢
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 2014-03-12
    • 2010-10-10
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    相关资源
    最近更新 更多