oracle 连接字符串web.config,关于ASP.NET Web API:C#Web API连接字符串web.config无法读取...

这是我在这里的第一个问题,所以请保持谦虚(并就我如何改进我的问题提供建设性的批评):)

我正在尝试连接到我的Web API项目中的Oracle数据库。

该项目具有一个app.config和一个web.config。

我不知道为什么要同时拥有这两者,但是在设置(带有Web API的空asp.net)项目时会附带它。

这是我的代码,用于连接数据库并获取连接字符串,这也是我获取NullReferenceException的地方:

// create a connection to the database

using (var con = new OracleConnection(ConfigurationManager.ConnectionStrings["Oracle"].ConnectionString))

我已经包括了适当的使用声明:

using Oracle.ManagedDataAccess.Client;

using System.Configuration;

using System.Data;

using Oracle.ManagedDataAccess.Types;

我的web.config文件如下:

到目前为止我尝试过的事情:

改用System.Web.Configuration.WebConfigurationManager

检查参考资料等

添加AppSettings键和值,然后尝试从web.config文件中读取。还返回null。

除了运行时NullReferenceException外,我没有收到任何其他错误。

我希望这是足够的信息以提出解决方案。如果没有,请告诉我,我会提供更多信息。

尝试以下方法。 它在System.Configuration中:

var con = ConfigurationManager.ConnectionStrings["Oracle"].ConnectionString;

另外,您可能要尝试在配置中不使用clear />。

是的,对不起。 这就是我最初尝试的方法,在我的问题结尾时,我提到了这一点。 忘记在代码示例中将其更改为原始格式。 底线:这对我没有用。

事实证明,这是一个非常简单的修复程序,通常是这种情况。

如前所述,我有一个app.config和一个web.config。

在web.config中是Oracle客户端设置,因此由于这一点和以前的经验,我认为连接字符串也应该存在。

但是在app.config中定义它时,它可以工作!

但是,与2个配置文件混淆,因为人们希望在web.config中定义连接字符串,而不是在app.config中定义。

底线:ConnectionStrings应该在app.config中。

这为我解决了。

我的解决方案中只有控制台应用程序项目用于测试时,才使用过app.config文件。 我将连接字符串存储在web.config中,如下所示:

然后在我的代码中引用它,如下所示:

protected const string ConnectionString = @"NAME";

是因为您告诉它它知道从Web.config获取它的ConnectionString吗? 然后我可以像下面这样使用它? new OracleConnection(ConnectionString);

不,您可以随意命名。 如果在web.config中正确设置,则连接名称在代码范围内可用。 所以我可以称其为受保护的常量字符串SomeWhereOverTheRainbow = @" Name"; 那也行得通。

原来web.config没有被读取,但是app.config却被读取。 不知道为什么,但是问题是解决者:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值