/ / Castle Windsor und seine eigene Konfigurationsdatei - Inversion-of-Control, Web-Config, Burg-Windsor

Schloss Windsor und seine eigene Konfigurationsdatei - Inversion-of-Control, Web-Config, Burg-Windsor

Ich benutze Castle Windsor für IoC, und habe die Konfiguration in der web.config/app.config, mit der folgenden Fabrik:

public static TYPE Factory(string component)
{
var windsorContainer = new WindsorContainer(new XmlInterpreter());
var service = windsorContainer.Resolve<TYPE>(component);

if (service == null)
throw new ArgumentNullException(string.Format("Unable to find container {0}", component));

return service;
}

und mein web.config Sieht so aus:

<configuration>
<configSections>
<section name="castle" type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor"/>
</configSections>
<castle>
<components>
<component id="Data" service="Data.IData, Data" type="Data.DataService, Data"/>
</components>
</castle>
<appSettings>.......

Das funktioniert gut, aber ich möchte die Konfiguration für Castle Windsor in eine Datei namens castle.config. Wie mache ich das?

Antworten:

4 für die Antwort № 1

WindsorContainer akzeptiert den Namen der Konfigurationsdatei als Konstruktionsparameter:

Öffentlicher WindsorContainer (Zeichenfolge xmlFile)

Zusammenfassung: Initialisiert eine neue Instanz von der Castle.Windsor.WindsorContainer Klasse, die eine XML-Datei zum Konfigurieren verwendet es. Entspricht der Verwendung von neuen WindsorContainer (neu XmlInterpreter (xmlFile))

Ihre castle.config-Datei würde dann so aussehen:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<components> ...