我一直在互联网上漫游,找出最佳解决方案是什么,但我似乎找不到满意的答案。在发布模式中,您的web.config中的programmactly更改
我的问题是,我希望我的网站管理员能够更改服务器设置(电子邮件,密码和Exchange服务器端点URL) - 这应该可以在浏览器中执行,所以管理员不会必须打开web.config文件。 设置很少设置,但它的可能性存在。
我现在做的是,一旦管理员填写自己的状态,我的控制器将设置新的值在web.config的AppSettings:
<appSettings>
<add key="ewsUser" value="[email protected]" />
<add key="ewsPW" value="somePW" />
<add key="ewsUrl" value="https://outlook.ews.com/xxx.asmx" />
</appSettings>
这是我的大问题开始的地方,因为我所有的研究都在互联网上进行。 假设我的应用程序现在在线,并且正在被数百人全天候使用,那么这个解决方案会成为一个问题吗? 我读过,如果你改变你的web.config文件,它会让你的应用程序在服务器上重新启动,而不会丢掉任何客户端。但是,这会影响客户在那一刻正确的会话吗?服务器会忘记他们的会话吗?
我读过一些坏习惯,this article说明了如何通过在web.config AppSettings中创建一个新的.config文件并链接到该配置文件来解决这个问题。但这真的有必要吗?我发现它比我现在的解决方案更混乱。
任何想法,想法和/或事实都将被评价。
谢谢你的回答Marthijn--你的两个解决方案也在我的“选择桶”中。现在是一个后续问题。上述哪一种解决方案最难入侵?请记住,数据库中的数据将被加密和腌制(密码至少)。 – Adam 2014-10-06 09:32:06
取决于,如果您已经有数据库运行它可能是最简单的。 XML也不是那么难,只是使用序列化,.NET将处理它。我也应该在XML文件中加密密码。 – Marthijn 2014-10-06 14:24:31