c# - 使用 Directory.Getfiles 指定绝对路径

标签 c# asp.net

嗨,我想知道你们是否可以帮忙。

我正在编写一个将在多个服务器上运行的应用程序,因此有多个 IP,我不想使用确切的 IP 和目录结构,而是想从应用程序实际运行的位置“后退”一个文件夹.例如....

文件夹结构为

\controls\---- 这包含将检查 xml 文件是否存在于 blogengine 文件夹中的 aspx 文件。

\blogengine\这应该包含 xml 文件

我使用的代码是......

string[] filePaths = Directory.GetFiles(@"\\94.175.237.35\inetpub$\wwwroot\mytest\BlogEngine\", "*.xml");

这将在特定服务器上找到文件,但我需要找到与运行应用程序的服务器相关的文件,这样我就不必不断更改文件路径。所以我需要类似的东西

string[] filePaths = Directory.GetFiles(@"..\BlogEngine\", "*.xml");

但是我找不到正确的语法来执行此操作?

有人知道吗?

提前致谢, 克雷格

最佳答案

使用 Server.MapPath() 方法将相对路径(基于当前目录或网站根目录)映射到绝对可访问路径。

例如:

string folderPath = Server.MapPath("~/BlogEngine");
string[] filePaths = Directory.GetFiles(folderPath, "*.xml");

波浪字符代表您网站的根目录,如果您指定相对路径,那么它将被解析为相对于您的 ASP.NET 页面所在的目录。

关于c# - 使用 Directory.Getfiles 指定绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12373352/

相关文章:

c# - 如何动态检查数组中的索引是否存在?

c# - 如何在 ASP.NET MVC 2 中的自定义模型绑定(bind)器中获取 FormValueProvider 实例

C# Modbus/tcp - 挂起连接

c# - 在 C# 中,如何在运行时创建值类型变量?

asp.net - 无法加载程序集 'App_Web_kh7-x3ka'。确保在访问页面之前已编译

.net - 有没有一种方法可以将内部控件放入ASP.NET自定义控件中?

asp.net - 用于预览的 SharePoint 流文件

c# - 将设置添加到 app.config 或者将设置添加到 *.exe.config 就足够了吗?

c# - CLR 如何找到实现 IDisposable 的类?

c# - 如何自动化定期执行作业的 WCF 服务