在(asp.net wcf)Web应用程序中存储文件的最佳方法是什么

我正在使用asp.net&创建一个Web应用程序. WCF作为3层架构,大多看起来像一个社交网站.用户可以注册系统,他们可以上传他们的个人资料图片,文档,视频剪辑等.所以,我想知道的是什么是存储这些文件的最佳方式?在wcf方面或Web应用程序方面?

另外我想知道,如果我选择Web应用程序端将这些文件存储为文件夹集,如何使这些文件夹共享并允许访问另一个不同的项目(例如桌面客户端需要将文件上载到该共享文件夹) ?

谢谢大家.

最佳答案
我认为这个问题最好这样说:

>保存在Web应用程序的文件夹中或关闭并将元数据存储在数据库中
>通过WCF从数据库中获取保存的图像

第二种方法可能会相当缓慢.通过服务获取信息,转换它,使用具有正确mime类型的httphandler将二进制流吐出到浏览器…

大多数体系结构都在中间缩小:将图像保存在UI层附近或其中,并将关于它们的元数据存储在数据库中.检索该信息主要只是一堆字符串,因此很容易检索.

更新新问题:

由于winforms应用程序/其他项目不在您的原始问题中,因此会偏离新的东西.在这种情况下,您可以选择以下某些方案:

>使用WCF层作为公共基础,并将图像存储在该服务之后.正如我所说,将字节数组拉过来是一个额外的.
>将图像存储在Web UI层中并拥有服务(asmx或WCF)以将图像公开给winforms客户端.
>在运行web ui的服务器上以及图像所在的位置为winforms客户端共享.当然一定要尊重安全和可能的黑客攻击.

这取决于最常用的场景.我的假设是主要使用web ui层,winforms将用于图像处理?如果是这样,那么ASP.NET第三方控件也可用于此类操作,因此对winforms客户端的需求将减少.

转载注明原文:在(asp.net wcf)Web应用程序中存储文件的最佳方法是什么 - 代码日志