開発者が開発したアプリは、配布サーバーから毎回ダウンロードするのではなく、ネットワークを効率的に使用するためにキャッシュを使用します。
キャッシュの種類
nexacro platformがサポートするキャッシュの種類は以下の通りです。
キャッシュの種類 | 説明 |
---|---|
none | キャッシュ機能を使用しません。 |
dynamic | サーバーから受信したファイルが更新された時にのみ受信します。 サーバーのファイルが更新されない場合には、Local Cacheファイルを再利用します。 |
session | nexacro platformエンジンを起動する時に1度だけ受信し(もしもLocal Cacheファイルと一致すれば再利用)、該当のエンジンが終了するまでLocal Cacheファイルのみを使用します。 |
static | サーバーから1度でも受信したこのとあるファイル対し、nexacro platformエンジンの再実行と関係なくLocal Cacheファイルのみを使用します。 このため、再受信したい場合にはバージョンアップしてください。 |
cachelevelを指定しなかった場合、デフォルト Cacheプロパティは Dynamicに適用されます。
プロパティ値が「static」の場合、キャッシュファイルをローカルストレージに保存することになりますが、ウェブブラウザの機能制限によって、ローカルストレージが使用できません。それで、ウェブブラウザで使用している場合には、プロパティ値が「static」の場合にも、「session」で動作します。
ウェブブラウザで使用する場合には、プロパティ値が「none」であれば、ブラウザのキャッシュを使用しないのが正常です。Firefoxを使用する場合には、ブラウザのキャッシュを使用する症状がありますが、この症状はFirefoxのバグです。
MS IEから実行される場合、nexacro platformの内部で利用するキャッシュメモリよりも、インターネットエクスプローラのキャッシュが優先動作する場合があります。 ウェブブラウザのキャッシュオプションが「自動的に確認する(A)」であるときに、サーバーから変更されたJavaScriptファイル(*.js)が更新されない現象は、制約事項です。
ブラウザを新たに起動したり refreshする動作では、製品が管理するメモリ上の cacheがすべてクリアされるため、session / dynamic / static設定の場合、設定値とは無関係にブラウザの動作に依存するようになります。
nexacro studioで「Launch Project」または「Quick View」メニューを使用してNREを実行する場合には、typedefinitionに設定されているService-cachelevel値を無視してnoneに動作します。
(cachelevelプロパティの設定値が変更されることではありません。)
nexacro platformで画像を処理するときには、画像表現に関連する機能(size、stretchなど)とパフォーマンス上の理由で使用ブラウザのキャッシュ設定に従う動作をするように設計されました。
(プロジェクトserviceグループに設定されたcachelevelとは別の動作です。)
ExcelImportObjectまたはExcelExportObjectを使用してExcelファイルをインポートまたはエクスポートする場合には、指定されたcachelevelプロパティ値に関係なく、無条件noneに動作します。
キャッシュの適用方法
以下は、nexacro studioのType Definition Editor画面です。
Cacheはここで登録したサービスグループにのみ適用されます。
ここでは、“./Base/”というディレクトリにある全てのファイルに対し“none” cacheが適用されることがわかります。
キャッシュの種類を選択します。
この他にもこの画面でバージョンを設定し、staticである場合も追加受信ができるようにすることができます。
nexacro.getEnvironment().services["Base"].set_cachelevel("none" )