Asp.net 如何访问主机应用程序&x27;是否从类库/程序集创建web.config文件?

Asp.net 如何访问主机应用程序&x27;是否从类库/程序集创建web.config文件?,asp.net,c#-4.0,configuration,Asp.net,C# 4.0,Configuration,我正在创建一个将在web应用程序中使用的类库。在其中一个程序集类中发生的事情之一是,它会访问数据库。通常,当我从服务中执行此操作时,会从web.config文件中提取连接字符串。对于类库,我不太确定如何以同样的方式工作。有什么建议吗 现在,我尝试将我的常规配置调用放入程序集中: protected readonly string _utiConnStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["U

我正在创建一个将在web应用程序中使用的类库。在其中一个程序集类中发生的事情之一是,它会访问数据库。通常,当我从服务中执行此操作时,会从web.config文件中提取连接字符串。对于类库,我不太确定如何以同样的方式工作。有什么建议吗

现在,我尝试将我的常规配置调用放入程序集中:

protected readonly string _utiConnStr =
 System.Web.Configuration.WebConfigurationManager.ConnectionStrings["UTI"].ConnectionString;

它呕吐,说“对象引用未设置为对象的实例。”

例如,如果我想要邮件设置:

 //open the webconfig
 Configuration webConfig = WebConfigurationManager.OpenWebConfiguration(@"~/web.config");

 // Get mail settings
 mailSettings = webConfig.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup;

因此,这里真正发生的事情是,我可以直接在程序集中指定要从中读取的配置文件的位置?我遇到了一些映射问题。我使用了var configMgr=System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(HttpRuntime.AppDomainAppVirtualPath);此._utiConnStr=configMgr.ConnectionString.ConnectionString[“UTI”].ConnectionString;但还是失败了。我在administrator中运行了VS,它运行得很好。显然,IIS将具有适当的工作权限。听起来您需要进行模拟。在您的情况下,让IIS用户模拟具有db访问权限的用户。我尝试了,但失败了。“对象引用未设置为对象的实例。”