我有一个VS 2008 Web部件项目 - 在这个项目中是一个web.config文件: 像这样的东西:
<?xml version="1.0"?>
<configuration>
<connectionStrings/>
<system.web>
<appSettings>
<add key="MFOwner" value="Blah" />
</appSettings>
…….
在我的网页部分中,我尝试访问appSetting部分中的值: 我已经尝试了下面的所有代码,每个代码都返回null:
string Owner = ConfigurationManager.AppSettings.Get("MFOwner");
string stuff1 = ConfigurationManager.AppSettings["MFOwner"];
string stuff3 = WebConfigurationManager.AppSettings["MFOwner"];
string stuff4 = WebConfigurationManager.AppSettings.Get("MFOwner");
string stuff2 = ConfigurationManager.AppSettings["MFowner".ToString()];
我尝试过这个代码:
NameValueCollection sAll;
sAll = ConfigurationManager.AppSettings;
string a;
string b;
foreach (string s in sAll.AllKeys)
{
a = s;
b = sAll.Get(s);
}
并在调试模式中逐步完成 - 这就是:
FeedCacheTimer
FeedPageURL
FeedXsl1
ReportViewerMessages
这不是来自我的web.config文件中的任何内容....也许是sharepoint本身的配置文件?如何访问我的Web部件本地的web.config(或任何其他类型的配置文件!)
感谢,
Phil J
答案 0 :(得分:1)
这些值看起来像默认的SharePoint web.config属性。创建SharePoint Web部件时,它将部署到承载SharePoint站点的IIS虚拟目录,该站点具有自己的(非常大的)web.config文件,而不是您的应用程序web.config文件。
根据您的生产环境,您可以使用所需的值更新SharePoint web.config文件,并且代码应该正常工作。如果您无法更新web.config文件,您可以查看在部署到的IIS目录中使用独立配置文件(自定义代码然后读取它),或者可能使用与每个SP网站集相关联的属性包。需要通过代码添加您的值。