在C#中访问UNC路径的最佳方式

时间:2009-05-21 01:00:20

标签: c# unc gogrid

我们正在构建一个存储大量图像的应用程序。我们在GoGrid.com上有一个虚拟化环境,我们希望利用他们的云存储。

不确定如何说出这一点,但如果我们(在我们的代码中)指定了放置或检索图像的路径和信誉,那看起来非常低效(连接,获取图像,断开连接)

如果我们有大量的图片或许多用户同时执行此操作,似乎它会让任何普通服务器瘫痪。

所以我的问题是,如果没有运行您的网站的大型驱动器,我们应该如何实现这一目标?再一次,我们选择了GoGrid云星与亚马逊S3,因为一切都在一个很好的保护伞下。可以通过UNC路径和特定用户名/密码访问云存储。

谢谢!

3 个答案:

答案 0 :(得分:1)

C#可以使用本机路径之类的unc路径,使用本机操作系统文件i / o。通常,您不“连接/检索/断开”,而是一旦建立,将保持与远程服务器的连接,就像您映射了驱动器一样。仅仅因为你没有驱动器号,它并不意味着没有连接。

或者(并且对go网格一无所知),您可以只映射驱动器或使用Windows中的“脱机文件”功能来保持最常访问的文件在本地缓存。

答案 1 :(得分:0)

如果您认为您可能会在一段时间内更改文件访问方法,那么请务必将其保留为摘要。从一个简单的UNC实现开始,但您可以稍后更改为Web服务或REST实现。

答案 2 :(得分:0)

之前我没有使用大容量访问服务器,但听起来我正在寻找非常轻量级访问UNC路径的东西。 Facebook有一个基于轻量级HTTP实现的架构和刀片服务器,用于使用单个10TB文件系统进行负载平衡,但你听起来并不像你那样。如果要最大化从连接中获得的内容,请尝试在连接/读取/断开连接序列中提取多个文件。请注意,这会让您的用户等待一段时间,而谷歌的速度降低20毫秒会导致用户下降20%。除此之外,我不知道有什么比简单地访问路径更快的方法。