DEXTUpload.NET
Class DXTEnvironment
- サポートされる最小バージョン
- 5.0.0.0
- 最小サポート環境
- .NET Framework 4.0
- 説明
-
コンポーネントのさまざまな設定値を含んでいるクラスである。
「DXTEnvironment「オブジェクトは「DEXTUpload.NET.FileUploadMonitorModule」モジュールオブジェクトが各リクエストを処理するたびに、「Web.config」の「dextupload.net」セクションの「settings」の要素を分析した値を属性として持つオブジェクトである。アップロード処理に必要なほとんどの設定は、すべての「settings」の要素に直接作成するので、直接「DXTEnvironment」クラスのオブジェクトを生成して使用することはほとんどない。
<configuration> <configSections> <!-- DEXTUpload.NET設定を読み取るためのセクションを定義する。 --> <sectionGroup name="dextupload.net"> <section name="settings" type="System.Configuration.SingleTagSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectionGroup> </configSections> <dextupload.net> <!-- 一時ファイルの作成パス:Webアプリケーションのルート/ files/ temp --> <!-- 既定のファイル保存パス:Webアプリケーションのルート/ files/ store --> <!-- 個別アップロード制限:10MB=10485760(バイト) --> <!-- 全アップロード制限:20MB=20971520(バイト) --> <!-- 拡張子のフィルタリング:txt、jpg、png、gif、docx、xlsx、pptx、hwp、pdf、zip --> <!-- クリーナー設定:1分ごとに24時間が経過し、一時ファイルを削除する。 --> <!-- シグネチャの設定:埋め込まれたリソースを使用してシグネチャを検査する。 --> <!-- 試用版の認証キー:9Ubwly9EZZZhBENEepU ... 省略 ... LeJyGxAJcB03gQQcM1Q --> <settings tempPath="~/files/temp" defaultPath="~/files/store" maxFileLength="10485760" maxTotalLength="20971520" whiteExtensions="txt,jpg,png,gif,docx,xlsx,pptx,hwp,pdf,zip" cleanerIntervalTime="60000" timeAgoForCleaning="24" enableCleaner="true" signatureDataFilePath="" methodFileSignatureChecking="absenceOrSame" authkey="9Ubwly9EZZZhBENEepUVHqG ... 省略 ... JyGxAJcB03gQQcM1Q" /> </dextupload.net> ... </configuration>
- 形式
-
public class DXTEnvironment
- コンストラクタ
-
DXTEnvironment
-
「DXTEnvironment」クラスのオブジェクトを生成する際に、初期化処理を実行する。
-
形式
public DXTEnvironment()
-
- 属性
-
DefaultRepository
-
ファイルを保存する場所を取得または設定します。
「Web.config」ファイルの「dextupload.net「セクション」settings」要素の「defaultPath」属性によって決定される。もし「defaultPath」属性が決定されていない場合は「tempPath」プロパティの値として設定される。
-
形式
public string DefaultRepository { get; set; }
TempRepository
-
ファイルを一時的に保存する場所を取得または設定します。
コンポーネントは、マルチパートデータを解析して、ファイルを取得する過程で、すぐに目的地(defaultPath)に保存せずに一時的な場所にファイルを保存し、この時、このファイルを一時ファイルという。一時的な場所は、「Web.config」ファイルの「dextupload.net「セクション」settings」要素の「tempPath」属性によって決定される。「tempPath」属性を必須属性であるため、デフォルト値がない。したがって、必ずプロパティ値を設定ヘジュオヤする。
-
形式
public string TempRepository { get; set; }
MaxFileLength
-
アップロードが許可されているファイルの最大サイズ(byte単位)を取得または設定します。
「MaxFileLength」は、個々のファイルが持つことができる最大の大きさをいう。「Web.config」ファイルの「dextupload.net」セクション「settings」要素の「maxFileLength」属性によって決定される。注意) MaxFileLength属性の値がIISで制限する要求データサイズよりも大きい場合には、アップロード中にエラーが発生することがあります。
デフォルト値は-1であり、-1のとき、個々のファイルの制限チェックを実行していない。
-
形式
public long MaxFileLength { get; set; }
MaxTotalLength
-
アップロードされたすべてのファイルのサイズを加えたときの最大許容サイズ(byte単位)を取得または設定します。
「MaxTotalLength」は、ファイル全体のサイズの合計が持つことができる最大の大きさをいう。「Web.config」ファイルの「dextupload.net」セクション「settings」要素の「maxTotalLength」属性によって決定される。注意)MaxTotalLength属性の値がIISで制限する要求データサイズよりも大きい場合には、アップロード中にエラーが発生することがあります。しかし、大容量のファイルのアップロード処理では、設定値に関係なく、無視(検査なし)される。
デフォルト値は-1であり、-1のとき、個々のファイルの制限チェックを実行していない。
-
形式
public long MaxTotalLength { get; set; }
ExtensionTokens
-
アップロードを許可する拡張子のリストを持つ「System.Collection.Generic.List<string>」オブジェクトを持って来る。
「Web.config」ファイルの「dextupload.net「セクション」settings」要素の「whiteExtensions」属性によって決定される。「whiteExtensions」属性の値は、コンマ(、)文字で区別された拡張子のリストの文字列である。ここで宣言された拡張子はアップロードを拒否するのではなく、許可がされているものである。もし「whiteExtensions」属性が定義されていない場合、拡張子を制限しない。
-
形式
public List<string> ExtensionTokens { get; }
PermittedEmptyExtension
-
拡張子のないファイルを許可するかどうかを取得または設定します。
「Web.config」ファイルの「dextupload.net「セクション」settings」要素のavailableNoFileExtension属性によって決定される。
デフォルトでは、「true」である。「false」の場合、拡張子のないファイルを許可しない。
-
形式
public bool PermittedEmptyExtension { get; set; }
UploadTimeout
-
アップロードタイムアウト時間(秒)を取得または設定します。
「Web.config」の「system.web」->「compilation」要素の「debug」属性が「false」の場合のみ効果を見ることができますが、 そのプロパティがtrueの場合、デバッグモードであるため、タイムアウト制限がかからない。
デフォルトは3600秒であり、60秒以下に設定した場合、60秒に固定される。
-
形式
public int UploadTimeout { get; set; }
CharEncoding
-
コンポーネント内部で文字列データを処理する際に使用「System.Text.Encoding」オブジェクトを取得または設定します。
「Web.config」ファイルの「dextupload.net」セクション「settings」要素の「encoding」属性によって決定される。
デフォルトでは、「System.Text.Encoding.UTF8」オブジェクトだ。
-
形式
public Encoding CharEncoding { get; set; }
FilterAction
-
アップロードするファイルが制限対象になった時、これを処理する方法を取得または設定します。
「Web.config」ファイルの「dextupload.net」セクション「settings」要素の「filterAction」属性によって決定される。
マルチパートデータを解析して作成する一時ファイルが制限(サイズ、拡張子など)対象であれば、一般的に、エラーを発生させ、例外処理される。 しかし、「FilterAction」属性の値が「DEXTUpload.NET.FilterAction.Flushing」であれば、ファイルの本文を捨て0バイトのファイルに一時ファイルを作成します。 注意)大容量ファイルのアップロード処理では、設定値に関係なく、制限対象が発生すると、エラーが発生する。
デフォルトでは、「DEXTUpload.NET.FilterAction.Error」である。ファイルが制限対象であれば、エラーが発生する。
-
形式
public FilterAction FilterAction { get; set; }
IsCompact
-
ファイルのサイズが0または空の場合、そのフォームのフィールドを削除するかどうかを取得または設定します。
「Web.config」ファイルの「dextupload.net」セクション「settings」要素の「compact」属性によって決定される。
ファイルが空という意味では、HTML inputタグには値がない場合をいう。 「IsCompact」属性の値が「true」であれば、空のフォームフィールドが削除されるため、ファイルの情報を持つ「DEXTUpload.NET.FileElement」オブジェクトが存在しなくなる。 注意)ファイルのサイズが0の場合も適用される。
デフォルトでは、「false」ですので、削除されたフォームのフィールドはない。
-
形式
public bool IsCompact { get; set; }
CleanerIntervalTime
-
クリーナーが削除操作をするイベントの間隔を取得または設定します。
単位はミリ秒(1/1000)であり、1分下に指定することができません。「Int32.MaxValue」よりも小さいか同じである。
デフォルトでは、60000 ms = 1吹く。
-
形式
public double CleanerIntervalTime { get; set; }
TimeAgoForCleaning
-
削除、一時ファイルの基準となる過去の時間(hour)を取得または設定します。
単位は時(hour)であり、値は1よりも大きく、「Int32.MaxValue」よりも小さいか同じである。
デフォルトは24です。
-
形式
public int TimeAgoForCleaning { get; set; }
EnableCleaner
-
「EnableCleaner」属性を「true」に設定すると、最初のファイルのアップロードが開始されると、内部的にクリーナーが開始される。
クリーナーは「CleanerIntervalTime、TimeAgoForCleaning」属性の指定値またはデフォルト値を持っている一時フォルダ(ディレクトリ)に存在する一時ファイルを削除する準備をする。たとえば、「CleanerIntervalTime」の値が60000であり、「TimeAgoForCleaning」の値が24であれば、1分ごとに「TempRepository」属性が指す一時フォルダから、最近の変更日付が24時間前(含む)のすべての一時ファイルのリソースを削除する。大容量ファイルのアップロードの場合、一時ファイルが存在すれば、数日が過ぎても続いて上げるが可能である。しかし、クリーナーが動作するようになれば、「TimeAgoForCleaning」属性で指定された時間が経過ファイルはすべて削除されます。
「DEXTUpload.NET.FileUpload」オブジェクトの「Dispose」メソッドが呼び出されると、一時ファイルを削除する機能がありますが、クリーナーはこのさえ逃した場合、または、大容量ファイルのアップロード中に発生したジャンクファイルを削除する目的で使用する。 加えて「DEXTUpload.NET.FileElement」クラスの「Keep」メソッドを使用して一時ファイルをそのまま使用するように設定してもクリーナーは対象を削除する。 多数のWebアプリケーションの1つの一時フォルダを共有する場合にクリーナーを使用すると、複数のプロセスが一時ファイルを削除する過程で、I / Oの競合の問題が発生することができる。
デフォルトでは、「false」である。
-
形式
public bool EnableCleaner { get; set; }
SignatureDataFilePath (5.2.0.0バージョンからサポート)
-
シグネチャ検査をするために必要とされるシグネチャリソースファイルのパスを取得または設定します。
シグネチャのリソースファイルは、ファイルのシグネチャ検査を実行するために必要なファイルとして、基本的なリソースは、コンポーネント自体に含まれているが、「SignatureDataFilePath」属性にパスが設定されると、内部リソースではなく、与えられたパスのファイルをリソースとして使用してシグネチャ検査を行うことになる。
デフォルトでは、「null」である。
-
形式
public string SignatureDataFilePath { get; set; }
MethodFileSignatureChecking (5.2.0.0バージョンからサポート)
-
シグネチャを検査する方法を取得または設定します。
デフォルトでは、「FileSignatureMethod.NoChecking」だ。
-
形式
public FileSignatureMethod MethodFileSignatureChecking { get; set; }
-