我的解决方案中有2个项目。 1是MVC Web应用程序 另一个是带有Web服务的空网站
昨天我通过右键单击Web服务项目添加了一个设置,然后转到properties =>手动添加设置。
这将创建一个设置文件,并将设置添加到Web.Config。
今天我手动修改了Web.config文件(我不确定这是什么原因)但由于某种原因,以下代码无法从我的Web中获取设置.Config:
string connstring = WebConfigurationManager.AppSettings["someString"];
它只返回null
设置名称正确。 MVC项目也以相同的方式添加设置,在那里我可以毫无问题地获得所有设置。
我尝试过的事情:
我注意到的另一件奇怪的事情如下:
当我在即时窗口中输入“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>
答案 0 :(得分:1)
如果您使用的是.NET 3.5或更高版本,请不要在web.config中使用appsettings。而是使用web.config中的connectionStrings部分。
试试这个web.config
filterForeName