pis*_*hio 5 .net c# asp.net configuration asp.net-4.0
Web.config的appSettings部分是否只能存储这样的简单字符串?
<appSettings>
<add key="OKPage" value="http://mysite.com/okpage.html" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
或者我可以有更复杂的值,如CDATA或嵌套值?如果没有,这是否是Web.config中存储自定义设置的唯一位置?谢谢
您可以将任何XmlSerializable类作为设置.
我在这里回答了类似的问题:ASP.NET中的自定义类型应用程序设置
还附加了一个示例项目.
以下是我的配置文件中的设置示例:
<setting name="MyEndPoints"
serializeAs="Xml">
<value>
<ArrayOfEndPoint xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<EndPoint>
<HostName>10.40.10.9</HostName>
<Port>22634</Port>
</EndPoint>
<EndPoint>
<HostName>10.40.10.9</HostName>
<Port>22635</Port>
</EndPoint>
</ArrayOfEndPoint>
</value>
</setting>
Run Code Online (Sandbox Code Playgroud)
设置的自定义类:
public class EndPoint
{
public string HostName { get; set; }
public int Port { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
根据定义appSettings检索内部的密钥NameValueCollection
表示可以使用键或索引访问的关联String键和String值的集合.
所以,你只能有数据类型string作为value一个的AppSettingskey
是的,AppSettings是唯一可以存储设置的地方.
MSDN定义了这样的AppSettings.
包含自定义应用程序设置,例如文件路径,XML Web服务URL或存储在应用程序的.ini文件中的任何信息.