我正在编写一个 WsCF 服务来检索多个客户端的数据。我有一个引用业务管理器对象的服务层。本质上,在服务调用中,我想从 web.config 中检索提供者类型(我的代码中的自定义枚举)和连接字符串。
由于某种原因,代码无法在我的项目 web.config 中找到设置。我正在收集 IIS Express 并且 VS 开发 Web 服务器正在引用 machine.config。我如何覆盖它。这是非常令人沮丧的。正如您从代码片段中看到的那样,设置和连接字符串名称存在,但代码永远不会选择它。
我的代码:
Private Sub GetDBInformation()
Dim config As System.Configuration.Configuration
config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Nothing)
If (config.AppSettings.Settings.Count > 0) Then
Dim Setting As System.Configuration.KeyValueConfigurationElement
Setting = config.AppSettings.Settings("DB TYPE")
If Not (Setting.Value = Nothing) Then
Select Case Setting.Value
Case "SQL SERVER"
provider = ProviderType.SqlServer
Case Else
provider = ProviderType.OleDb
End Select
End If
End If
If (config.ConnectionStrings.ConnectionStrings.Count > 0) Then
connection = config.ConnectionStrings.ConnectionStrings("UMADB").ConnectionString
End If
End Sub
web.config:
<connectionStrings>
<add name="UMADB"
connectionString="Data Source=***********;Initial Catalog=UMA;UserID=********;Password=***********"
providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="DB TYPE" value="SQL SERVER" />
</appSettings>