我正在创建一个使用asp.net和WCF作为三层架构的web应用程序,它看起来很像一个社交网站。用户可以注册到系统,他们可以上传他们的个人资料图像,文档,视频剪辑等。那么,我想知道的是什么是最好的方式来存储这些文件?在wcf端还是web应用程序端?
我还想知道,如果我选择web应用程序端将这些文件存储为一组文件夹,它如何使这些文件夹共享并允许访问另一个不同的项目(例如,桌面客户端需要将文件上传到该共享文件夹)?
提前感谢大家。
发布于 2010-07-29 17:17:47
我认为这个问题最好这样来表达:
从数据库中获取保存的图像
第二种方法可能会相当慢。通过服务抓取信息,对其进行转换,使用具有正确mime类型的httphandler将二进制流输出到浏览器...
大多数架构都简化为中间层:将图像保存在UI层附近,或保存在UI层中,并将有关图像的元数据存储在数据库中。这些信息的检索大多只是一堆很容易检索到的字符串。
新问题的更新:
由于winforms应用程序/其他项目不在您最初的问题中,因此偏离了一些新的问题。在这种情况下,您可以执行以下一些方案:
这取决于最常用的场景是什么。我的假设是web ui层将主要用于图像处理,而winforms将用于图像处理?如果是这样的话,也有ASP.NET第三方控件可用于此类操作,因此对winforms客户端的需求将会减少。
发布于 2010-07-29 17:21:31
这取决于你期望这个东西变得多大。
如果这是为了更广泛的互联网,并且您希望它变得更大,那么将其放在web服务器上将很难通过向您的网络场添加新的web服务器来扩展您的应用程序。
一种方法是将物理文件上载到the服务器,使用户可以快速上载,然后使用可能使用FileWatcher的上载触发协调器后台服务。此服务会将文件传播到web场中的所有节点,以便对其他节点的后续请求将找到该文件。
如果这是一个仅供公司内部使用的小型应用程序,则在web服务器上运行是可以的,但必须满足以下条件:
https://stackoverflow.com/questions/3360925
复制相似问题