我们正在将我们网站的主媒体存储迁移到新服务器。我正在研究使用分布式文件系统 (DFS) 来执行此操作,这样我就不用在网站代码和配置文件中替换所有硬编码的引用,\\oldserver\media
而是可以:\\newserver\media
- 设置
\\mydomain.com\dfs
为 DFS 共享 - 向该 DFS 共享添加一个
media
文件夹,目标指向\\oldserver\media
- 更新我的所有代码和配置文件以
\\mydomain.com\dfs\media
使用\\oldserver\media
然后,当所有操作完成后,添加一个 DFS 目标\\newserver\media\
,删除该\\oldserver\media
目标,然后(理论上?)我的 Web 服务器在遵循该媒体共享时将开始查找新服务器而不是旧服务器。
理论不错。但不起作用。现在,如果我\\mydomain.com\dfs\media
从工作站转到 Windows 资源管理器,我可以看到新服务器(这是正确的),但映射到的 IIS 中的虚拟目录\\mydomain.com\dfs\media
仍然可以看到旧服务器上的内容。
奇怪的是,域控制器上的 DFS 配置甚至不再引用旧服务器 - 我已经删除了目标,并在我的工作站上完成了dfsutil cache domain flush
操作dfsutil cache referral flush
。
我的本地计算机是否维护着一个单独的引用缓存,该缓存由 IIS 使用,但 Windows Explorer 不使用?是否有其他解决机制可以解释为什么同一主机上的不同进程会看到不同的结果?