我们有一个网站,我们想要推断用户控件并将它们放入自己的程序集中。这样我们就可以更轻松地在其他类似项目中重用这些控件。我认为我们可以通过创建一个新的类库项目,将.ascx和.ascx.cs文件移动到这个项目,添加相应的.net程序集引用,并修改项目对这些用户控件的引用来相当容易地做到这一点。他们来自图书馆。
我现在预见到的问题是这些控件严重依赖于某个数据库架构。从历史上看,我们始终在web.config中保留连接字符串,并且一直使用LINQ to SQL进行数据库管理,因此我无法想出一种在网络中共享数据库连接信息的“最佳实践”方法。使用程序集配置。我能想到的唯一方法是为我的每个用户控件添加一个ConnectionString属性,并在Page_Load上设置ConnectionString属性(它将依次使用该连接字符串创建数据上下文的实例)。但是,我希望改为完成下列任务之一:
非常感谢任何建议。
答案 0 :(得分:1)
控件将使用调用应用程序配置中包含的任何连接字符串。不需要单独的配置。
我显然不能只调用ConfigurationManager.ConnectionStrings [“connection”]。这可能吗?
是!
答案 1 :(得分:0)
调用System.Configuration.ConfigurationManager.ConnectionStrings
将返回应用程序的web.config中的结果,即使调用代码放在它自己的程序集中也是如此。记住:它不是assembly.config,而是web.config。
如果您的用户控件需要一个名为“MyDatabase”的连接字符串,那么他们使用的每个Web应用程序都需要在其web.config中定义的MyDatabase连接字符串。