当引用的.NET Framework 2.0程序集试图在IIS托管的WCF服务中执行以下代码行时,我收到错误:

错误讯息:

  

必须在不指定时指定exePath   在一个独立的exe里面跑。

源代码:

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

有没有人遇到过这个问题,他们知道如何解决这个问题吗?

编辑:我的问题是,从向后兼容.NET 2.0程序集的WCF服务打开配置文件(app.config和web.config)的最佳方法是什么?

有帮助吗?

解决方案 2

我能够通过从我的问题中删除现有代码并将其替换为以下ConfigurationManager实现来解决配置问题:

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

适用于ASP.NET应用程序,WinForms应用程序和WCF服务。我3年前刚刚过度设计了我的类库的初始实现....

其他提示

引用的.NET 2.0程序集是我为企业库开发的用于处理常见任务的类库的一部分。它旨在用于ASP.NET和WinForm应用程序。

以下是我用来确定要打开哪种配置文件的源代码:

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

这取决于你想要完成的事情。在ASP.NET上,您通常不会将ConfigurationManager用于此类内容,而是使用WebConfigurationManager。也就是说,没有确切的等价物,因为实际上,OpenExeConfiguration允许的用户/漫游/等内容对Web应用程序没有意义。

你需要什么?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top