ConfigurationManager 外部オブジェクトを使用すると、実行時にアプリケーションの設定を読み取ることができます。
つまり、環境変数 (このドキュメントで説明する変数のみ) や設定ファイル (web.config、client.cfg、CloudServices.config) に設定され、実行時に使用される設定にアクセスできます。
プロパティに値が設定されている場合は、true を返します。
パラメーター filename はオプションです。設定しなかった場合、標準の設定ファイル (web.config/client.cfg または CloudServices.config) または環境変数に設定されているプロパティが対象となります。
プロパティに設定されている値を返します。
パラメーター filename はオプションです。設定しなかった場合、標準の設定ファイル (web.config/client.cfg または CloudServices.config) または環境変数に設定されているプロパティが対象となります。
いずれのメソッドでも、プロパティの名前は、web.config または client.cfg の設定に沿ってインスタンス化されます。別のファイル (CloudServices.config ファイルまたは独自の設定ファイル) のプロパティが必要な場合は、プロパティの名前の前にコロン (:) で区切ってサービスタイプを指定する必要があります (例: Notifications:APP_ID)。
ファイルを指定する場合は、CloudServices.config に似た形式のファイルでなければなりません。プロパティの値の指定方法は、CloudServices.config の場合と同じです (<ServiceType>:<propName>)。
GeneXus 16 Upgrade 7 以降では、同じタイプのサービスが複数あることがあります。Conversational Flows の名前で識別される 1 つの Chatbot インスタンスの下にすべてのプロパティが保存される Chatbot タイプがこれに該当します。そのような場合は、<ServiceType>:<ServiceName>:<propName> という形式でプロパティを取得する必要があります。
<?xml version="1.0" encoding="utf-8"?>
<Services>
<Service>
<Name>MyServiceName</Name>
<Type>MyServiceType</Type>
<ClassName>MyServiceClass</ClassName>
<Properties>
<Property>
<Name>Property1</Name>
<Value>Value of Property 1</Value>
</Property>
<Property>
<Name>Property2</Name>
<Value>Value of Property 2</Value>
</Property>
</Properties>
</Service>
</Services>
Property1 の値を取得するには、次のように記述します。
&FileName = !"MyConfigFile.config"
&propName = !"MyServiceType:Property1"
if ConfigurationManager.HasValue(&propName, &FileName)
msg(ConfigurationManager.GetValue(&propName, &FileName))
else
msg("Property has not been set")
endif
Configuration Manager は、GeneXus 15 Upgrade 12 以降で利用できます。
|