ログインページで、接続文字列とログインしたユーザーロールをセッション変数に入れました。セッションの有効期限が切れていないかどうかを確認するために、他のページのpage_loadイベントに次のコード行を追加しました。
protected void Page_Load(object sender, EventArgs e)
{
if (Session["userRole"])==null
Response.Redirect("Login.aspx");
.........
}
しかしSession[conString] is expired
、Webアプリケーションがしばらくアイドル状態になると、エラーが発生することがあります。ここで、セッション変数ごとに有効期限が異なるのではないかと思います。そうでない場合は、セッションの有効期限が切れたことをアプリケーションが検出したときに、ログインページにリダイレクトされるべきではありませんか?