2011-04-19 59 views
0

我有一个子网站放置在我的默认网站中。在子网站中,我想将变量存储在它的web.config中。从子网站读取AppSettings web.config

但是,每当我尝试检索值时,它们都不存在于ConfigurationManager.AppSettings中。

我已经把网站作为一个网站的应用程序,并创造了它在IIS中,没有成功的虚拟目录...

没有人有ANE想法?

谢谢!

(顺便说一句,我使用.NET 3.5和IIS管理器6)

回答

0

只是FYI你子网站被称为虚拟Diretories

web.config所有你需要做的就是添加此到文件:

<configuration> 
    <appSettings> 
    <add key="myVar1" value="myValue1" /> 
    <add key="myVar2" value="myValue2" /> 
    </appSettings> 
</configuration> 

<appSettings>是一个简单的NameValueCollection,你可以在你的代码itenerate,如:

NameValueCollection appSettings = ConfigurationManager.AppSettings; 

for (int i = 0; i < appSettings.Count; i++) 
{ 
    Console.WriteLine("#{0} Key: {1} Value: {2}", 
    i, appSettings.GetKey(i), appSettings[i]); 
} 

这是你在做什么?

+0

是的,我知道如何使用web.configs和AppSettings的......问题是,由于某种原因,ASP.NET不会从我的子网站 – Nathan 2011-04-19 07:37:01

+0

啊拿起web.config文件,那么你需要转换的是'子网站进入一个**虚拟目录**,因为它接缝,你拥有的只是默认网站内的一个文件夹。右键点击默认网站添加选择添加虚拟目录,然后选择你的网站所在的文件夹。所以它可以作为一个独立的站点 – balexandre 2011-04-19 07:39:16

+0

对不起,我没有更好的解释,我创建了虚拟目录的子网站(我应该真的习惯于术语:-)),但问题实际上是URL重写。不管怎么说,还是要谢谢你! – Nathan 2011-04-19 07:41:05

0

没关系,

我已经固定我自己的问题。

我正在使用URL重写,这导致服务器对我的项目的实际位置有点困惑。