我在ASP.net MVC项目中的SagePay Integration的Web配置中有以下条目。
<configuration>
<configSections>
<section name="SagePayConfiguration" type="System.Configuration.IgnoreSectionHandler" requirePermission="true" restartOnExternalChanges="true" allowLocation="true"/>
</configSections>
<SagePayConfiguration>
<!--Mandatory
Set to TEST for the Test Server and LIVE for the live environment-->
<add key="sagepay.api.env" value="TEST" />
.
.
</SagePayConfiguration>
但是当我尝试从C#代码访问它时,我得到null。
SagePayConfiguration sagePayConfiguration = (SagePayConfiguration)System.Configuration.ConfigurationManager.GetSection("SagePayConfiguration");
我在这里缺少什么帮助?
答案 0 :(得分:1)
您必须将ConfigrationItem强制转换为&#34; System.Configuration.IgnoreSectionHandler&#34;或者将web.conf中的类型Attribute设置为程序集中的现有Type。
<section name="<SectionName>" type="<your type (FQN)>, <Assembly>" />
之后你可以访问它
YourType o =((YourType)ConfigurationManager.GetSection(&#34; sectionName&#34;));
编辑:
Type必须来自ConfigurationSection。