1

私が使用しているレガシーコードでは、WebサービスがSharePointリストにアクセスします。
これらのリストの一部には特別な権限が必要なため、最初のアクセス時にユーザーの資格情報が要求されます。

ただし、アプリケーションにログを追加した後、ユーザーが最初にWebサービスを呼び出そうとすると、実際には次のことが発生することに気付きました。

  • Webサービスは正常に実行を開始します。
  • アイテムに特別なアクセス許可が必要な場合、SharePointはHTTP401を送信しますThreadAbortException
  • ユーザーには資格情報ボックスが表示されます。
  • ログイン後、Webサービスが再度呼び出されますが、今回は問題ありません。

これは基本的に、SharePoint呼び出しの前のコードがこのシナリオで2回実行されることを意味します。
コードを実行する前にクレデンシャルボックスを表示する正しい方法は何ですか?
これは、匿名アクセスがIISである場合に無効にする必要がありますか?私はそう思うが、Webプロジェクトの構成に不慣れなので、混乱している。

4

1 に答える 1

3

ASP.Netアプリケーションがリダイレクトを行う場合、ThreadAbortExceptionは正常です。この場合、デバッグしているので、例外をキャッチします。

予想される例外であるため、エラーを無視することをお勧めします。

于 2011-02-10T21:31:23.770 に答える