【发布时间】:2009-04-02 23:46:46
【问题描述】:
我搜索了该站点,虽然我发现了一些非常有用的信息,但我无法弄清楚我的代码发生了什么。我有以下 web.config:
<?xml version="1.0"?>
<configuration>
<system.web>
</system.web>
<system.webServer>
</system.webServer>
<appSettings>
<add key="APIKey" value="23e24c73feed7ca0f6afd876575842de"/>
<add key="Secret" value="################################"/>
<add key="Callback" value="http://localhost:55994/"/>
<add key="Suffix" value="My3Words"/>
</appSettings>
</configuration>
我已经剪掉了 system.web 和 system.webServer 中的内容,但这是在 ASP.NET MVC 应用程序中生成的默认设置。
我正在尝试访问该部分中的密钥(这是一个使用 FB Connect 的简单 Facebook 应用程序)。
在我的代码中,我有以下行:
return ConfigurationManager.AppSettings["APIKey"];
它返回一个空值。我无法完全弄清楚发生了什么。我有条件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using System.Configuration;
在我的 .cs 文件的顶部。我非常怀疑键盘后存在错误(即在我的大脑中),但我无法解决这个问题。有什么想法吗?
【问题讨论】:
-
您是从外部 DLL 调用 ConfigurationManager 吗?
-
我正在从我的 HomeController.cs 调用的 .cs 文件中调用 ConfigurationManager
-
web.config 和 ConfigurationManager.AppSettings 之间并没有太多真正的问题,所以它有点奇怪。要确认您肯定使用了正确的配置文件,请尝试使您的 web.config 无效 XML 并验证您的网站是否失败?
-
快速而肮脏的方法使配置文件无效?
-
您的 .cs 文件所在的目录中是否还有另一个 web.config?也许尝试配置 c = WebConfigurationManager.OpenWebConfiguration("~");打开根目录中的那个。
标签: c# asp.net asp.net-mvc