2

asp.net でログイン ページを作成し、asp.net メンバーシップでユーザーとロールを作成しました。ログイン後、ページ ロード メソッドでクエリを実行して、ユーザーのロールを確認し、そのユーザーごとにページのビューを表示します。しかし、私はこのエラーが発生しています。

タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。

私のコード:

protected void Page_Load(object sender, EventArgs e)
{
    if (Page.User.Identity.IsAuthenticated)
    {

        if (Roles.IsUserInRole("Manager"))
        {

            NavigationMenu.Visible = false;
            NavigateMenu1.Visible = true;

                creategrid();
        }
    }
}

この例外は、アプリケーションを初めて実行したときにのみ発生し、ページを更新して再度ログインしようとすると、例外は発生しません。私はこれが新しいので、私を助けてください。

4

3 に答える 3

2

エラーメッセージは、デフォルトのタイムアウト期間よりも接続を確立するのに時間がかかることを伝えようとしています..

タイムアウトを増やすことはできますが、そうしないことをお勧めします..

その理由を見つけてください。頻繁に発生する場合は、接続プールがその時点で十分な接続を持っていない可能性があります..そうであれば、最小プールサイズまたは最大プールサイズを増やして、適切な接続ライフタイムなどを設定できます、

http://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.71).aspxを参照してください。

于 2012-10-16T06:02:08.000 に答える
1

のタイムアウトを追加しますSqlCommand。時間を追加してくださいsecond

// Setting command timeout to 1 second
 cmd.CommandTimeout = 1;
于 2013-08-26T10:03:42.300 に答える
1

コマンド オブジェクトで、commandTmeout プロパティを設定します。

cmd.CommandTimeout = 9000;

于 2013-08-26T09:55:26.260 に答える