我用WebAPI创建了一个MVC项目。我创建了一个Controller(从ApiController派生)并添加了以下行
string connstring = System.Configuration.ConfigurationManager.ConnectionStrings["isrOAK"].ToString();
并抛出一个空异常,"对象引用未设置为对象的实例"。
但是,有一个HomeController(派生自Controller),它自动添加到项目中。连接字符串有效。
知道为什么以及如何让它在派生的Api控制器上工作?
更新:我正在使用UNIT TEST项目来测试WebAPI项目。我从单元测试方法调用HomeController Index(),并没有抛出相同的异常。单元测试项目需要什么来使get连接字符串工作?
答案 0 :(得分:2)
System.Configuration.ConfigurationManager.ConnectionStrings [" isrOAK"]返回一个ConnectionStringSettings对象。使用.ConnectionString获取实际的连接字符串。
string connstring = System.Configuration.ConfigurationManager.ConnectionStrings["isrOAK"].ConnectionString;
答案 1 :(得分:0)
访问连接字符串:
-
并在web.config文件中添加密钥,如下所示:
var conifg = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"];