Pergunta

Recebi um erro quando um .NET Framework 2.0 referenciada montagem tentou executar a seguinte linha de código em um IIS hospedados serviço WCF:

Mensagem de erro:

ExePath deve ser especificado quando não correndo dentro um stand alone exe.

Source Code:

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

Alguém já experimentou este problema e eles sabem como resolvê-lo?

EDIT: A minha pergunta é, qual é a melhor maneira de abrir um arquivo de configuração (config e web.config) a partir de um serviço WCF que é compatível com a NET 2.0 montagem?

Foi útil?

Solução 2

Eu era capaz de resolver o problema de configuração, removendo o código existente da minha resposta provious e substituí-lo com a seguinte implementação ConfigurationManager:

string MySetting = ConfigurationManager.AppSettings.Get("MyAppSetting");

Se as obras para aplicações ASP.NET, aplicativos WinForms e WCF Services. Eu só excesso de engenharia a implementação inicial da minha biblioteca de classe 3 anos ....

Outras dicas

O referenciados NET 2.0 montagem é parte de uma biblioteca de classe I desenvolvido para a nossa biblioteca empresa para lidar com taskes comuns. Foi destinado a ser usado em aplicações ASP.NET e WinForm.

Aqui está o código-fonte que eu usei para determinar que tipo de arquivo de configuração para aberto:

//Open app.config or web.config file
if (HttpContext.Current != null)
    this.m_ConfigFile = WebConfigurationManager.OpenWebConfiguration("~");
else
    this.m_ConfigFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

Depende do que você está tentando realizar. Em ASP.NET, você normalmente não usaria ConfigurationManager para coisas como esta, mas WebConfigurationManager vez. Dito isto, não há equivalente exato, uma vez que, na realidade, o usuário / móvel / stuff etc que OpenExeConfiguration permite que não faz sentido em uma aplicação web.

O que você precisa para isso?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top