我正在创建一个验证页面,以便当我的应用程序从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;