2011-04-06 54 views
0

我正在开发一个C#中的ASP.NET MVC 3电子商务网站。使用SQL Server 2008R2。我的问题是,如果我有5张图像,我想用缩略图在gridView中显示(例如,亚马逊网站,可以让客户的几张图片显示),如果图像来自数据库,或者我应该居住在Content \ Images文件夹?在我的db设计中,子类别中有很多子类别。专业开发人员最常见的诉讼是什么?谢谢。我知道有很多第三方工具的选项,比如jquery & Telerik Extensions。所以我会用它们。应该图像来自数据库或content Images文件夹

感谢

+0

你应该让这个问题更加局部化;答案取决于你的情况和目标。 – 2011-04-06 12:27:19

回答

1

从我的经验和研究,最好是把它放在一个文件夹/内容结构。是的,有开放目录给公众的安全性,但如果你动态地通过ftp上传文件,问题就解决了。我听说过有关在数据库中存储文件的恐怖故事,并且看到问题出现,但解决了它们。基本上,写入数据库比较容易,并且不存在公开打开目录的安全问题,但确保定期检查文件未损坏的备份,或者确保数据位于群集故障转移位置将永远不会成为一个问题。

总结:数据库很好,只需定期通过恢复它们没有损坏或作为故障转移群集运行来检查备份。否则,只需使用典型的文件夹/内容结构,但使用ftp来上传文件,这样就没有公开的目录。

+0

谢谢大卫。对于定期对备份进行检查是正确的。 – DiscoDude 2011-04-06 12:34:14

0

对我来说,这个问题的最佳anwser是这样的:To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem

Sumary:应用程序设计者经常面临是否要大对象存储在文件系统或数据库中的问题。通常这个决定是为了简化应用程序设计而做出的。有时候还会使用性能测量。本文着眼于碎片问题 - 可能影响长期部署的系统的性能和/或可管理性的操作问题之一。正如人们普遍认为的那样,小于256K的对象最好存储在数据库中,而大于1M的对象最好存储在文件系统中。在256K和1M之间,读写比率和对象覆盖率或替换率是重要因素。我们使用“存储时间”的概念或对象覆盖次数作为标准化挂钟时间的方式。存储时间允许我们的结果或类似的结果适用于多个读取:写入比率和对象替换率。

相关问题