我最初在我的网站的App_Code文件夹中编写了一个数据访问层。然后我们在一个单独的项目中开发了一个Web服务。为了使网站和Web服务都可以访问相同的DAL,我将它移到了不同的项目中。我有一个包含tableadapters的数据集,为了让DAL项目编译,我必须将连接字符串添加到应用程序属性设置中。但这意味着我必须为每个部署重新编译DAL。另外,我可能在使用相同DAL的服务器上有2个或3个网站。所以我想在每个网站的web.config中设置连接字符串并将其保留。 每次我创建一个tableadapter的实例时,是否必须通过我的代码并进行更改? 例如从连接字符串与DAL在单独项目中的问题
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);
}
还是有更好的办法?
科林
公用事业类的作品。它在内部使用ConfigurationManager并正确地从web.config中检索连接字符串。但数据集设计人员需要应用程序设置,并且代码当前不使用该实用程序。我想我将不得不动态设置每个表适配器连接。或者,还有更好的方法? – Colin 2009-08-04 15:36:22
我认为DataSet设计器直接使用了这个ConnectionStrings部分。但是,如果没有,也许你可以使用工厂模式来返回正确配置的适配器...这样,至少表适配器的动态设置全部在一个地方完成。 – freshr 2009-08-05 05:37:53