Frage

Ich bin mit SubSonic 2 aus einem Projekt und ich möchte eine andere .config-Datei aus dem Standard festlegen App.config. Wie kann ich SubSonic sagen eine bestimmte Konfigurationsdatei zu benutzen?

War es hilfreich?

Lösung 2

Es scheint, dass Sie dies, indem Sie zwei Eigenschaften von SubSonic Objekte tun können: DataService.ConfigSection und DataProvider.DefaultConnectionString. Sobald diese festgelegt SubSonic versuchen wird nicht für die Standard-Anwendungskonfigurationsdatei zu suchen, es wird nur die Details verwenden Sie es gegeben haben.

Zum Beispiel:

        // Part 1: set the config section:
        string configPath = Assembly.GetExecutingAssembly().Location + ".config";
        ExeConfigurationFileMap execfg = new ExeConfigurationFileMap();
        execfg.ExeConfigFilename = configPath;
        Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(execfg, ConfigurationUserLevel.None);
        DataService.ConfigSection = (SubSonicSection)configuration.GetSection(ConfigurationSectionName.SUB_SONIC_SERVICE);

        // Part 2: set the connection string
        string connectionString = configuration.ConnectionStrings.ConnectionStrings["xLocal"].ConnectionString;
        DataProvider provider = DataService.Provider;
        provider.DefaultConnectionString = connectionString;

Dies scheint gut zu funktionieren, aber ich bin manchmal eine lange Verzögerung auf dem zweiten bis letzten Zeile DataProvider provider = DataService.Provider; erleben. Ich bin nicht sicher, ob dies mit dem zu tun, was ich hier tue, oder es ist ein allgemeines Montage-Ladeproblem. Ich habe dieses Problem in einer anderen Frage hier dokumentiert: Call-System .Web.Configuration.ProvidersHelper.InstantiateProviders Einnahme Alter und Altersgruppen (von SubSonic)

Andere Tipps

Sie können nicht - SubSonic arbeitet von Provider-Einstellungen, die für die Ausführungsumgebung eingestellt sind. Man könnte, wenn man will, eine connectionStrings.config verwenden und dass irgendwo setzen sonst, aber SubSonic verwendet Configuration des App-Konfiguration zu öffnen und seine Leckereien finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top