我最初在我网站的App_Code文件夹中写了一个数据访问层。然后我们在一个单独的项目中开发了一个Web服务。因此,网站和Web服务都可以访问相同的DAL,我将其移动到另一个项目。我有一个带tableadapters的数据集,为了使DAL项目编译我必须将连接字符串添加到Application属性设置。但这意味着我必须为每个部署重新编译DAL。此外,我可能在服务器上使用相同的DAL有2或3个网站。所以我想在每个网站的web.config中设置连接字符串并保留它。 每次创建tableadapter的实例时,是否必须完成我的代码并进行更改? 例如来自
using (MessageQueue adaptor = new MessageQueue())
{
return adaptor.GetMessages(UserId, MobileId, StartDate, EndDate);
}
到
using (MessageQueue adaptor = new MessageQueue())
using (OracleConnection connection = new OracleConnection(OracleUtilities.ConnectionString))
{
adaptor.Connection = connection;
return adaptor.GetMessages(UserId, MobileId, StartDate, EndDate);
}
或者有更好的方法吗?
科林
答案 0 :(得分:3)
我找到了我在这里寻找的答案:
Guidance needed ASP.Net app connection string
在s_ruchit的回答中。
web.config中的连接字符串名称必须与app.config中的连接字符串名称匹配 - 该名称包含完全限定名称。所以在我的情况下,我改变了
<add name="ConnectionStringMainDB"
connectionString="<myConnStringHere>"
providerName="System.Data.OracleClient"/>
为:
<add name="DatabaseAccess.Properties.Settings.ConnectionStringMainDB"
connectionString="<myConnStringHere>"
providerName="System.Data.OracleClient"/>
无需更改其他代码!感谢Muhammed和更新的
答案 1 :(得分:1)
使用标准的ConnectionStrings配置部分,您将能够在不诉诸实用程序类的情况下检索连接字符串:
System.Configuration.ConfigurationManager.ConnectionStrings
您仍然需要将连接字符串放入需要数据库的每个应用程序的app.config或web.config文件中。