迭代web.config中的“自定义”部分

时间:2013-04-17 21:17:08

标签: web-config configurationmanager webconfigurationmanager

我正在创建一个验证页面,以便当我的应用程序从dev-> qa> prod移动时,我可以验证web.config中的所有设置都已更改。

循环连接字符串和应用程序设置很简单,但我很难从“自定义”部分获取信息。特别是elmah数据。

我写了这篇文章有用,但这是一个黑客工作,我确信有一种更清洁的方式。

有什么建议吗?

    string table = "<table border=\"1\"><tr><td colspan=\"2\">Elmah Information</td></tr>";
    Hashtable security = (Hashtable)WebConfigurationManager.GetSection("elmah/security");
    Hashtable email = (Hashtable)WebConfigurationManager.GetSection("elmah/errorMail");
    Hashtable errorlog = (Hashtable)WebConfigurationManager.GetSection("elmah/errorLog");
    table += "<tr><td>allowRemoteAccess</td><td>" + security["allowRemoteAccess"].ToString() + "</td></tr>";
    table += "<tr><td>Error Log Type</td><td>" + errorlog["type"].ToString() + "</td></tr>";
    table += "<tr><td>Error Log Path</td><td>" + errorlog["logPath"].ToString() + "</td></tr>";
    table += "<tr><td>Email To</td><td>" + email["to"].ToString() + "</td></tr>";
    table += "<tr><td>Email From</td><td>" + email["from"].ToString() + "</td></tr>";
    table += "<tr><td>Email Subject</td><td>" + email["subject"].ToString() + "</td></tr>";
    table += "<tr><td>Email SmtpServer</td><td>" + email["smtpServer"].ToString() + "</td></tr>";
    table += "<tr><td>Email Async</td><td>" + email["async"].ToString() + "</td></tr></table>";
    lblElmah.Text = table;

0 个答案:

没有答案