.NET TIPS 分離ストレージの容量を調べるには?[C#、VB]デジタルアドバンテージ 一色 政彦2007/05/31 |
|
|
分離ストレージには利用可能な容量に制限がある。この容量制限(以降、ディスク・クォータ)はセキュリティ環境(例えばInternetゾーン)などによって異なるため一概には判断できないので注意が必要だ(分離ストレージについては「TIPS:分離ストレージを活用するには?」を参照されたい)。
ディスク・クォータを調べる方法には「ツールによる方法」と「コードによる方法」があるので、それぞれ解説しよう。
ツールによりディスク・クォータを調べるには?
ディスク・クォータを調べるには、「Microsoft .NET Framework x.x 構成」(x.xには1.0、1.1、2.0などの.NET Frameworkのバージョン番号が入る)というツールを利用すればよい。なお、このツールは.NET Framework SDKに付属するものであるため、あらかじめ(.NET Frameworkのバージョンに合った).NET Framework SDKをコンピュータにインストールしておく必要がある(※Visual Studioをインストールするとオプションによっては自動的に入る)。
次の画面は実際に「Microsoft .NET Framework 2.0 構成」を利用して、Internetゾーンにおけるディスク・クォータを調べているところだ。
上記の画面の例では、ディスク・クォータが512000Bytes(=500KBytes)なのが分かる。
この値はプログラミング・コードから取得することもできる。
コードによりディスク・クォータを調べるには?
(プログラムに割り当てられた)分離ストレージ環境のディスク・クォータのサイズ(全容量)は、分離ストレージ環境を表すIsolatedStorageFileオブジェクト(System.IO.IsolatedStorage名前空間)のMaximumSizeプロパティから取得できる。また、すでに使用済みの容量はCurrentSizeプロパティから取得できるので、MaximumSizeプロパティの値からCurrentSizeプロパティの値を引けば、分離ストレージの空き容量が求まる。
次のコードは実際に、「全容量」「使用済みの容量」「空き容量」を調べて、それぞれの値をコンソール上に表示するサンプル・プログラムだ。
|
||
ディスク・クォータの容量を調べるサンプル・プログラム(上:C#、下:VB) |
このサンプル・プログラムをInternetゾーンで実行すると、筆者の環境では次のような出力が得られた。
|
|
サンプル・プログラムのInternetゾーンでの実行結果 | |
Visual Studio 2005でプログラムをデバッグする際に、そのプログラムをInternetゾーンのセキュリティ環境で実行するには、プロジェクト・プロパティの[セキュリティ]タブで、[ClickOnce セキュリティ設定を有効にする]チェックボックスにチェックを入れ、[これは部分的に信頼するアプリケーションです]ラジオボタンを選択し、[アプリケーションがインストールされるゾーン]コンボボックスで「インターネット」を選んだうえで、プログラムをデバッグ実行すればよい。なお従来のVisual Studio .NET(2002/2003)にはこの機能はない(参考:「特集:ノータッチ・デプロイメント」の「インターネット・ゾーンでテストする方法」)。 |
ちなみに、ディスク・クォータを超えて分離ストレージ環境にデータを書き込もうとすると、「クォータが完全に使用されています。 (HRESULT からの例外: 0x80131485)」というメッセージのIsolatedStorageException例外(System.IO.IsolatedStorage名前空間)が発生する。
カテゴリ:クラス・ライブラリ 処理対象:分離ストレージ 使用ライブラリ:IsolatedStorageFileクラス(System.IO.IsolatedStorage名前空間) 使用ライブラリ:IsolatedStorageFileStreamクラス(System.IO.IsolatedStorage名前空間) 関連TIPS:分離ストレージを活用するには? |
|
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|