.NET 構成ファイル

Microsoft .NET Framework では、Windows、Web、Internet Explorer ベースの .NET アプリケーションの構成ファイルを指定できます。 これらの構成ファイルには、.NET ランタイム環境に影響を及ぼす設定 (アセンブリのバインドや .NET Remoting の設定など) が含まれます。

Silk Performer の .NET Framework で .NET テスト ドライバを実行すると、Silk Performer Framework アセンブリのロードに必要な設定を使用して perfrun.exe.config と呼ばれる構成ファイルが自動的に作成され、Silk Performer の Web エンジンを経由したルーティングが可能になります。

このような構成ファイルを介してカスタム構成を提供するには、次の 2 つのオプションがあります。

ランタイム時の構成

.NET Class Library には、構成ファイルからロードされる特定の .NET Remoting 設定を構成できるクラスが備えられています。 たとえば、次の構成ファイル スキーマがあるとします。

<configuration>
<system.runtime.remoting>
<application>
  <channels>
    <channel ref="http" port="2000" />
  </channels>
  <client url="http://remoteserver:2000">
    <activated type="RemoteDll.RemoteClass1, RemoteDll"/>
    <activated type="RemoteDll.RemoteClass2, RemoteDll"/>
  </client>
</application>
</system.runtime.remoting>
</configuration>

これをプロジェクト ディレクトリ内のファイルに保存し、データ ファイル セクションに追加すると、次のコードを使用してランタイム時に (多くの場合、Init トランザクションに対応するメソッドで) ロードできます。

RemotingConfiguration.Configure(Bdl.GetDataFilePath("vuser.config"));

アプリケーション構成ファイルで構成できる他の設定は、System.AppDomain などの .NET Framework の他のクラスで変更できます。 .NET ランタイム環境を変更できるクラスの詳細については、MSDN オンライン リファレンスを参照してください。

独自の構成ファイル

Silk Performer .NET Framework を使用してテストを実行すると、仮想ユーザー プロセスでホストされる .NET ランタイムの初期化に使用される構成ファイルが Silk Performer によって自動的に生成されます。 このファイルは perfrun.exe.config と呼ばれ、Silk Performer インストール ディレクトリに保存されます。 このファイルには、次のようなスキーマがあります。

<configuration>
<system.net>
...
</system.net>
<runtime>
...
</runtime>
</configuration>

この構成ファイルが生成されると、Silk Performer によってプロジェクト ディレクトリ内で app.config ファイルが検索されます。 ファイルが見つかると、ファイルの内容がランタイム ノードの直後にマージされます。 これは、必要な構成 XML 要素を app.config ファイルで定義できることを意味します。 ただし、ルート configuration タグまたは Silk Performer によって生成されるタグ (system.net または runtime) がファイルに存在しないことを確認する必要があります。

次に、.NET Remoting コンポーネントの構成ファイルの例を示します。

<system.runtime.remoting>
<application>
<channels>
  <channel ref="http" port="2000" />
</channels>
<client url="http://remoteserver:2000">
  <activated type="RemoteDll.RemoteClass1, RemoteDll"/>
  <activated type="RemoteDll.RemoteClass2, RemoteDll"/>
</client>
</application>
</system.runtime.remoting>