it-swarm-pt.tech

atualize o arquivo app.config programaticamente com o ConfigurationManager.OpenExeConfiguration (ConfigurationUserLevel.None);

atualize o arquivo app.config programaticamente com

Configuração config = ConfigurationManager.OpenExeConfiguration (ConfigurationUserLevel.None);

este é o meu xml

<configuration>
  <configSections>
    <section name="nhibernateSettings" type="ProjectBase.Data.OpenSessionInViewSection, ProjectBase.Data" />
  </configSections>
  <appSettings>
    <add key="NHibernateConfigPath" value="D:\PROJEKTI\crawler\WebCrawlerSuite\ViaMura.Web\NHibernate.config" />
    <!--<add key="NHibernateConfigPath" value="C:\_ZAGON\ViaMura\CurrencyApp\at\NHibernate.config" />-->
    <add key="ClientSettingsProvider.ServiceUri" value="" />
  </appSettings>
  <connectionStrings>
    <add name="connectionString" connectionString="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Viamura_at;Data Source=.\SQL2008" providerName="System.Data.SqlClient" />
    <!--<add name="connectionString" connectionString="server=193.37.152.24\SQL2008;User Id=DBUser;password=Lualah8991;database=Viamura_at" providerName="System.Data.SqlClient" />-->
  </connectionStrings>
  <nhibernateSettings>
    <!-- List every session factory that will be needed; transaction management and closing sessions 
          will be managed with the open-session-in-view module -->
    <sessionFactories>
      <clearFactories />
      <sessionFactory name="WebCrawlerFactory" factoryConfigPath="D:\PROJEKTI\crawler\WebCrawlerSuite\ViaMura.Web\NHibernate.config" isTransactional="true" />
      <!--<sessionFactory name="WebCrawlerFactory" factoryConfigPath="C:\_ZAGON\ViaMura\CurrencyApp\at\NHibernate.config" isTransactional="true" />-->
    </sessionFactories>
  </nhibernateSettings>

como editar programaticamente o WebCrawlerFactory? estou usando

Configuração config = ConfigurationManager.OpenExeConfiguration (ConfigurationUserLevel.None);

12
senzacionale

Você pode usar o seguinte código:

private void UpdateConfig(string key, string value, string fileName)
{
    var configFile = ConfigurationManager.OpenExeConfiguration(fileName);
    configFile.AppSettings.Settings[key].Value = value;

    configFile.Save();
}

Onde: fileName é o caminho completo + nome do aplicativo (c:\project\application.exe)

No seu caso, altere o AppSetting by Sections:

configFile.Sections["nhibernateSettings"]
29
Freddy

O ProjectBase.Data.OpenSessionInViewSection indica que já existe uma seção de configuração personalizada definida que permitirá o acesso às configurações. No entanto, pode ser protegido ou interno ao NHibernate.

Veja se você pode fazer referência a essa classe para acessar as configurações.

Você também pode criar uma seção de configuração personalizada, no entanto, isso faria com que o NHibernate fosse configurado incorretamente, pois não seria capaz de carregar a seção de configuração corretamente.

consulte Como: Criar seções de configuração personalizadas usando o ConfigurationSection

1
BaTTy.Koda