在我的Visual Studio Web项目中,根目录是Web.config
。
该Web.config
文件定义了用于基本网络身份验证的网络用户和密码。
<configuration>
<appSettings>
<add key="User" value="victoria"/>
<add key="Pwd" value="i12kissU"/>
</appSettings>
</configuration>
我的项目使用母版页,其中包含几种常用方法。这是我使用上面的应用程序设置的地方:
母版页
using System.Net;
using System.Web.Configuration;
//
public CredentialCache GetNetworkCredentials(string url) {
var item = new CredentialCache();
var username = WebConfigurationManager.AppSettings["User"];
var password = WebConfigurationManager.AppSettings["Pwd"];
item.Add(new Uri(url), "Basic", new NetworkCredential(username, password));
return item;
}
在每个 SubFolder 中,项目具有访问SQL Server上不同数据库的例程。因此,每个 SubFolder 都有自己的Web.config
文件,其中包含这些表的唯一数据库连接字符串。
<configuration>
<connectionStrings>
<add name="SubFolderN" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SubFolderN;User Id=UserN;Password=PwdN" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
这让我可以为每个 SubFolder 拉连接字符串。
SubFolderN:
ConnectionString =
WebConfigurationManager.ConnectionStrings["SubFolderN"].ConnectionString;
到目前为止,每个 SubFolder 都会成功从母版页中提取User
和Pwd
值。
到目前为止,结果似乎很有希望。
但是,我想与在社区中了解的人确认我所看到的不是浏览器缓存的结果。我需要这种情况持续发生。
具有权威参考的链接会很棒。
答案 0 :(得分:2)
我想我在这里找到了答案:
10 Things ASP.NET Developers Should Know About Web.config Inheritance and Overrides
具体来说,它说的是ASP.NET Web.config:
特定ASP.NET应用程序的Web.config文件位于应用程序的根目录中,包含适用于Web应用程序的设置,并通过其分支中的所有子目录向下继承。