繁体   English   中英

WebApi,文件存在但未找到文件,IIS始终从“ C:\\ Program Files(x86)\\ IIS Express”文件夹中读取

[英]WebApi, File exists but file not found, IIS always reads from “C:\Program Files (x86)\IIS Express” folder

我有一个Web API解决方案,该解决方案的文件夹包含配置文件( 请参阅解决方案资源管理器的图像,此处显示配置文件

代码中的路径名是:

public const string CONFIGFILEPATH = "VTS_Data\\Config.vts";
public const string BCSEQUENCEFILEPATH = "VTS_Data\\BCSequenceNumber.xml";
public const string OPCCONFIGFILEPATH = "VTS_Data\\OPCTagConfiguration.das";

应用程序始终从路径"C:\\Program Files (x86)\\IIS Express"读取。 如果我将VTS_Data文件夹手动放置在"C:\\Program Files (x86)\\IIS Express"此路径中,则该应用程序可以正常运行。

但是,如何从实际的路径中进行配置呢?

另外,当它作为IIS站点托管时,VTS_Data文件夹需要存在于IISExpress文件夹中。

我试图在需要从路径读取时使用(HttpContext.Current.Server.MapPath(Constants.CONFIGFILEPATH)) 当我调试时,它指向实际的物理路径,但是File.Exists即使文件存在也返回false。

我已完全控制所有人,并确保文件不是只读的。

任何帮助将不胜感激。 先感谢您

当我创建变量var baseDir = HttpContext.Current.Server.MapPath("~/VTS_Data")并使用var OPCConfigurationFilePath = Path.Combine(baseDir , OPCTagConfiguration.das); 它开始工作。 好像以前它已经指向一个文件夹,并在其中搜索另一个具有相同名称的文件夹。 例如 而不是指向folderName / abc.txt,而是指向folderName / folderName / abc.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM