Tengo dificultades para encontrar una forma de especificar una ubicación de archivo en web.config
appSettings que evita el uso de rutas codificadas pero que no son "web-aware" Biblioteca C# para encontrar un archivo.Especificación de la ubicación relativa del archivo en web.config para su uso en la biblioteca de clase C# estándar
La biblioteca C# utiliza los métodos estándar File.Open
, File.Exists
, etc. para operar en un archivo de datos, que se almacena en el árbol de mi aplicación web (ASP.NET MVC), p. en:
\content\data\MyDataFile.txt
Requisitos:
- Quiero ser capaz de especificar mi camino como, por ejemplo:
<appSettings> this--> <add key="MyFileLocation" value="~\content\data\MyDataFile.txt" /> not --> <add key="MyFileLocation" value="c:\inetpub\wwwroot\foo\content\data\MyDataFile.txt" /> </appSettings>
- no quiero el C# biblioteca para tenga en cuenta la aplicación web en la que se está utilizando, ya que se usa en otro software, y la aplicación web no necesita conocer la configuración de C# libra ry así que realmente no quiero pasar información de configuración entre las capas si es posible.
¿Alguna sugerencia sobre cómo puedo hacer esto limpiamente? ¡Gracias!
Acabo de descubrir esto también, pero te daré los puntos! Ciertamente funciona en mi caso (y en una aplicación de consola que noqueé para probar). ¿Alguna idea de si hay algún caso, esto fracasará? Gracias. –