按代码创建web.config

时间:2012-06-02 00:52:00

标签: c# asp.net asp.net-mvc-3

我正在创建一个社交网站,并希望用户能够上传视频和照片进行分享。上传的文件将存储在个人目录中,只有用户和他/她的朋友才能访问。

为了限制访问,我正在考虑为每次上传创建一个web.config文件。到目前为止,我还没有找到通过代码创建和更新web.config文件的方法(例如,当用户接受朋友请求时,必须将新朋友添加到web.config文件中)。 / p>

有没有人建议如何按代码创建web.config文件?

1 个答案:

答案 0 :(得分:3)

您可能不希望以这种方式处理用户上传的内容。有几个原因:

  1. 允许用户上传物理存储在应用程序目录中的内容可能会给您带来重大安全风险。
  2. 每次更新Web.config时,应用程序池都会回收,使您的应用程序无法使用。
  3. 随着您的社交网络扩展,您需要在多个服务器之间分配负载,此时在本地服务器上存储数据与某种集中式或分布式缓存无法实现。
  4. 我建议您为用户提供上传内容的工具,然后将内容存储在某种blob存储机制中(数据库,云服务提供商都有这些)。从那里,您可以在请求特定URL时通过应用程序代码将数据汇集回来,或者如果blob存储提供程序支持访问控制,您可以生成允许从blob存储直接下载的密钥。关于这一点的好处是你可以经常轻弹一个开关并启用流行的内容CDN。

    祝你的社交网络好运!