どっとねっとふぁん

C# Tips And Samples
in 検索

キャッシュについて

最新の投稿は、投稿日時: 06-14-2006, 10:27 午前 投稿者: naoki です。スレッドには 3 件の返答があります。
投稿のソート: 前へ 次へ
  •  06-12-2006, 11:00 午前 715

    キャッシュについて

    こんにちは。ナオキです。

     

    先週のことなのですが、謎な現象にあったので確認をしてみたく。。。

    環境 ASP.NET2.0

        Windows2000

        

    とある辞書のWebサービスにアクセスしてデータをやり取りするWebページを作成していました。

    初回起動時 Page_Load イベントでWebサービスから辞書データ(和英・英和・国語等)をドロップダウンリストに表示させて、その後表示させているデータをキャッシュにInsertメソッドを使い格納させました。

     

    続いて実際にユーザーが値をテキストボックスに入力してボタンを押した際にキャッシュに格納されたアイテムも

    同時に引数としてWebサービスにアクセスさせるように組んだ所、『キャッシュがnullとなっていて』

    オブジェクト参照に~~と言うエラーが発生しました。キャッシュのInsertメソッドに10分有効な時間指定もしてみたのですが何度やってもnullになっていました。

     

    後日何気なくコードも弄っていない物を実行してみると、何事も無かったかのように実行されたのですが、一度nullとなったキャッシュがどこかに残っていて使われた可能性などあるのでしょうか?

     

    少し解り辛い質問で申し訳ありません(;´ρ`)

  •  06-12-2006, 11:23 午前 716 返答元: 715

    Re: キャッシュについて

    ちなみにディレクティブは

    <%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="xxx.aspx.vb" Inherits="xxx" title="Untitled Page" %>

    <%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="MasterPage" %>

    の様になっていてWeb.Configは特に変更は加えていません。

    唯一書き加えられていたのは

    <connectionStrings/>
     <system.web>
     <compilation debug="true">
       <buildProviders>
        <add extension=".asbx" type="Microsoft.Web.Services.BridgeBuildProvider"/>
       </buildProviders>
       <assemblies>
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
     </assemblies>
     </compilation>
     </system.web>

    となっていました。Atlasページで作成していたので、通常ページと差異が出来たんじゃないかなぁと思っています。

  •  06-12-2006, 11:40 午前 717 返答元: 716

    Re: キャッシュについて

    Expire(有効期限)の設定がおかしいということはありませんか?

    たとえば、挿入から10秒間有効なら

            Cache.Insert("textbox_text", myObject, Nothing, Now.AddSeconds(10), TimeSpan.Zero)

    って感じになると思いますけど。

     


    http://moo-asp.net/
  •  06-14-2006, 10:27 午前 719 返答元: 717

    Re: キャッシュについて

    Mooさんこんにちは。 返事が遅くなってしまって申し訳ありません。

    キャッシュの指定をした際に有効期限設定をしない状態で実行しても null にならない場合と、 null になってしまう場合がありました。

    そして、有効期限の設定をする際には 10分で設定していました。。。

    Cache.Insert("textbox_text",    Nothing, DateTime.Now.AddMinutes(10.0), TimeSpan.Zero)

    の様に記述していました。

RSS ニュースフィードで参照
SkinName:iroha_CS2
Powered by Community Server, by Telligent Systems