我在HttpHandler中使用SubSonic 3.0.0.3(ActiveRecord方法),我在它自己的库中。为了使它最终工作,我必须在网站的web.config中使用连接字符串,而不是类库的app.config。这是预期的结果还是错误?
答案 0 :(得分:6)
获取的唯一配置是执行环境的配置 - 将其存储在类lib中将不起作用 - 对于任何配置设置。
您可以通过使用ProviderFactory(如上所述)发送连接字符串来覆盖我们的模板行为。
答案 1 :(得分:3)
使用Reflector,我检查了SubSonic的ProviderFactory.GetProvider(connectionStringName)
方法,这是在你生成的Db / Context类的构造函数中调用的方法。
它使用ConfigurationManager
查找连接字符串(如预期的那样)。因此,当您运行Web应用程序时,它将在web.config文件中查找已知的连接字符串。您需要将连接字符串配置复制到使用.dll的应用程序的.config文件中。