Vb.net 类库中web.config的等效项
我有三个web应用程序,它们都访问同一个数据库。那里有很多重复的代码,所以我想把所有的普通东西都放到一个新的项目中,每三个应用程序都可以引用 首先,我假设类库是实现这一点的最佳工具? 其次,我应该在类库中的什么位置存储以前在web.config中的连接字符串设置 在ASP.NET中,我目前正在执行以下操作: Web.configVb.net 类库中web.config的等效项,vb.net,class-library,asp.net-4.5,Vb.net,Class Library,Asp.net 4.5,我有三个web应用程序,它们都访问同一个数据库。那里有很多重复的代码,所以我想把所有的普通东西都放到一个新的项目中,每三个应用程序都可以引用 首先,我假设类库是实现这一点的最佳工具? 其次,我应该在类库中的什么位置存储以前在web.config中的连接字符串设置 在ASP.NET中,我目前正在执行以下操作: Web.config <connectionStrings> <clear/> <add name="A" connectionString="
<connectionStrings>
<clear/>
<add name="A" connectionString="Persist Security Info=False; User ID=user; Password=pass; Initial Catalog=myDb; Data Source=localhost; Connection Timeout=60" providerName="System.Data.SqlClient"/>
<add name="B" connectionString="Persist Security Info=False; User ID=user2; Password=pass2; Initial Catalog=myDb; Data Source=localhost; Connection Timeout=60" providerName="System.Data.SqlClient"/>
</connectionStrings>
我已经搜索了答案,但只能从单独的项目中找到访问web.config文件的答案,这是不同的。您必须添加一个app.config文件进行配置。但是当从类库读取时,必须使用位于入口点可执行项目上的app.config 想象一下以下项目: -ClassLibrary.dll(带) -ConsoleProgram.exe(带) 控制台编程是您必须在其中放置应用设置(在app.config中)的项目,然后您可以使用类库中的SettingsReader读取它们 如果确实要从dll程序集读取设置,可以插入app.config并将该文件设置为“嵌入式资源”,以便使用程序集读取该文件 大概是这样的:
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyApp.App.Config";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
}
谢谢我不需要直接执行这个类中的逻辑,所以我认为控制台应用程序不是正确的方法。那么,你是说除非我嵌入并读取整个内容,否则类库(dll)没有设置文件功能吗?我是说,如果你使用ConfigurationManager.AppSettings阅读器,它将读取可执行项目的app.config,而不是dll中的app.config。控制台应用程序只是一个例子。很好,谢谢。
- Class1.vb
- Class2.vb
- SettingsReader.vb
- Program.vb
- App.Config
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyApp.App.Config";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
}