为什么我在使用WebConfigurationManager的Web.Config中找不到AppSetting?

时间:2015-04-22 09:32:10

标签: c# asp.net asp.net-mvc web-config

我的解决方案中有2个项目。 1是MVC Web应用程序 另一个是带有Web服务的空网站

昨天我通过右键单击Web服务项目添加了一个设置,然后转到properties =>手动添加设置。

这将创建一个设置文件,并将设置添加到Web.Config。

今天我手动修改了Web.config文件(我不确定这是什么原因)但由于某种原因,以下代码无法从我的Web中获取设置.Config:

string connstring = WebConfigurationManager.AppSettings["someString"];

它只返回null

设置名称正确。 MVC项目也以相同的方式添加设置,在那里我可以毫无问题地获得所有设置。

我尝试过的事情:

  • 如果设置名称正确,则检查Double / Triple / Quadruple
  • 我已经以管理员身份重新启动了visual studio。
  • 我删除了设置文件并重新创建了它。 =>这也会自动修改Web.Config
  • 检查是否存在对System.Configuration的引用

我注意到的另一件奇怪的事情如下:

当我在即时窗口中输入“WebConfigurationManager”=>看起来它里面有0个AppSettings。 它还表明我有2个连接线,而它们确实不存在(如果我执行Ctrl + Shift + F,则无法在解决方案中找到): 这是连接字符串“WebConfigurationManager.ConnectionStrings [0]”返回:

ConnectionString: "data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"

我几乎认为它打开了错误的Web.config(但在我的任何项目中都没有,因为上面的连接字符串在我的解决方案中不存在)

感谢您的任何提示!

额外信息,web.config的内容:

...

<applicationSettings>
    <SomeWebServices.Properties.Settings>
        <setting name="someString" serializeAs="String">
            <value>DATA SOURCE=abcdefg;USER ID=ABC;PASSWORD=abc987</value>
        </setting>
        <setting name="someOtherString" serializeAs="String">
            <value>DATA SOURCE=abcde;USER ID=ABC;PASSWORD=abc654</value>
        </setting>
    </SomeWebServices.Properties.Settings>
</applicationSettings>

1 个答案:

答案 0 :(得分:1)

如果您使用的是.NET 3.5或更高版本,请不要在web.config中使用appsettings。而是使用web.config中的connectionStrings部分。

试试这个web.config

filterForeName