1

IIS 7.5 で RIA サービスを使用して Silverlight アプリケーションを実行していますが、「クエリ 'xxx' の読み込み操作が失敗しました。操作 'xxx' へのアクセスが拒否されました。」これは、情報メッセージ "" とともにイベント ビューアに表示されます (このメッセージは現在、イベント ログを制限するために抑制されています)。

フローは次のとおりです。ユーザーは最初にログインし、フォーム認証を使用して認証され、有効期限はスライド有効期限を使用して 12 時間に設定されます。すべての RIA ドメイン サービス クラスは [RequiresAuthentication] でマークされています。

私は ASP.NET とフォーム認証にあまり詳しくありませんが、最初に考えたのは、ユーザー セッションが期限切れになったということでした。そのため、DomainOperationExceptions を Unauthorized のステータス コード (401 エラーに対応) で処理して修正し、ユーザーを次のように更新しようとしました。

private void OnLoadComplete(LoadResult<MyObject> res)
{
    if (res.Error != null)
    {
        var dom = res.Error as DomainOperationException;
        if (dom != null && dom.Status == OperationErrorStatus.Unauthorized)
        {
            WebContext.Current.HttpAuthentication.LoadUser();
        }
    }
}

残念ながら、これは実際には何の違いもありませんでした。

それは実際にはセッションの有効期限ですか、それともこのエラーを引き起こす可能性のある何か他のものがありますか? そして、それを処理する正しい方法は何ですか?

問題を診断するために他に何が必要か教えてください...

4

0 に答える 0