1

ASP.NETで問題が発生しています。マスターページにドロップダウンリストがあり、以下のコードを使用してUIプロジェクト外のライブラリでドロップダウンリストにアクセスしています。

 Page page = HttpContext.Current.Handler as Page;

 if (page != null)
 {
     return page.Master.FindControl("MyDdl") as DropDownList;
 }

このコードは正常に機能します。しかし、15〜20分間非アクティブのままにしてからポストバックを発生させると(たとえば、ボタンをクリックしたり、メニューを変更したりするなど)、ページのマスタープロパティがnullになることがあります。つまりpage.Master、nullを返し始めます。次に、F5キーを押してページを更新すると、ページが再び機能し始めます。私もグーグルを検索しましたが、相対的な答えは見つかりませんでした。誰かがここで何が起こっているのか教えてもらえますか?

4

1 に答える 1

2

セッションタイムアウトが発生しています。セッションは終了しました。セッションを構成できる場所は2つあります。

まず、次のようにWebアプリケーションweb.config内に配置します。

<configuration> 
  <system.web> 
     <sessionState timeout="30"></sessionState> 
  </system.web> 
</configuration> 

またはIISマネージャーを使用して2番目:

アプリケーションのメインプロパティを含むタブに移動し、[セッション状態]をダブルクリックします。タブの下部に[タイムアウト(分単位)]があります。また、セッション状態ストレージを変更する他のオプションがあります。

コードを使用してセッション状態を確認するオプションもあります。この記事をご覧ください:http: //www.codeproject.com/Articles/227382/Alert-Session-Time-out-in-ASP-Net

ハッピーコーディング!

于 2012-10-21T13:38:49.680 に答える