【发布时间】:2015-04-22 09:32:09
【问题描述】:
我的解决方案中有 2 个项目。 1 是一个 MVC Web 应用程序 另一个是带有 Web Service 的空网站
昨天我通过右键单击 Web 服务项目并转到属性 => 手动添加设置。
这会创建一个设置文件并将设置添加到 Web.Config。
今天我手动修改了 Web.config 文件(我不确定这是不是这个原因),但由于某种原因,以下代码无法从我的 Web.Config 中获取我的设置:
string connstring = WebConfigurationManager.AppSettings["someString"];
它只是返回 null
设置名称正确。 MVC 项目也以相同的方式添加了设置,在那里我可以毫无问题地获取所有设置。
我尝试过的事情:
- 双重/三重/四重检查设置名称是否正确
- 我已经以管理员身份重新启动了 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>
【问题讨论】:
标签: c# asp.net asp.net-mvc web-config