ASP.NET SaaS应用程序文件存储:驱动器号路径或UNC路径

ASP.NET SaaS应用程序文件存储:驱动器号路径或UNC路径,asp.net,filesystems,saas,Asp.net,Filesystems,Saas,我们的asp.net应用程序框架的文件系统部分需要更新,以符合我们的SaaS/多租户方法,尤其是在扩展方面 我们当前的文件系统将文件存储在每个租户的单独文件夹中的磁盘上 ie:X:\filefolder\ApplicationInstance\tenata等,其中租户名称和文件名是GUID。我们有一个HttpHandler,用于检索文件、解析所有路径和名称并返回原始文件名等。我们存储每个租户的根路径,即:X:\filefolder\ApplicationInstance\根据需要,我们可以在某个

我们的asp.net应用程序框架的文件系统部分需要更新,以符合我们的SaaS/多租户方法,尤其是在扩展方面

我们当前的文件系统将文件存储在每个租户的单独文件夹中的磁盘上

ie:X:\filefolder\ApplicationInstance\tenata等,其中租户名称和文件名是GUID。我们有一个HttpHandler,用于检索文件、解析所有路径和名称并返回原始文件名等。我们存储每个租户的根路径,即:X:\filefolder\ApplicationInstance\根据需要,我们可以在某个点将它们移动到不同的位置

关于扩大这个系统的问题,我有一些问题。。。(请原谅我对硬件/windows基础设施方面的无知,我的问题更多的是关于实现文件系统代码的更新)

1) 显然,这些文件都应该存储在NAS设备上

2) 如果我们添加NAS设备并构建服务器场,是否需要开始运行域控制器?这会如何影响对路径的引用

编辑: 发现服务器场不需要域,这很好,但仍然不确定这会如何影响可用路径等

3) 我们应该使用驱动器号路径(映射驱动器)还是UNC路径

4) 引用UNC而不是名称驱动器号(即使在同一台机器中)是否会影响性能

5) 我们可以预期哪些权限问题,以及这对在域上运行或不运行有何影响

编辑: 拥有一个域会使权限更容易,但仍然不知道有什么区别

欢迎对该方法、最佳实践或更好方法提出任何意见


谢谢

您应该做的是抽象存储代码,以便路径只是一个实现细节。通过这种方式,您可以完全更改路径体系结构,这可能是您的存储技术所要求的。

我想我们已经使用HttpHandler实现了这一点,只需要通过绝对路径或UNC配置从磁盘实际读取/流式传输文件。不,我不是这么说的。我说的是抽象掉文件访问,把所有与文件访问有关的东西都封装到一个小的公共类集合中。重构类,使其不特定于文件访问,而是更一般地特定于存储。这样,您以后就可以拥有一组关于文件系统上存储的类,另一组关于NAS上存储的类,等等。谢谢,您知道有什么信息可以为我提供一些实现此功能的想法/概念吗?