2011-07-06 53 views
6

Tengo un proyecto ASP.NET MVC que tiene una subcarpeta llamada correos electrónicos. Esto contiene archivos HTM para mis plantillas de correo electrónico. En ciertos puntos del sitio, tengo un controlador que necesita cargar una de estas plantillas y enviarla como un correo electrónico.Obtener la ruta del sitio ASP.NET MVC en el sistema de archivos

Lo que estoy tratando de hacer es utilizar la reflexión para obtener la ruta del ensamblado de ejecución actual, pero no está funcionando como lo esperaría. El camino que estoy recibiendo de vuelta es:

var directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); 

'C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Iles \ ssl \ 1da130c4 \ f8e7810e \ assembly \ dl3 \ 5f253aca \ \ 1a71f123_e83bcc01 correos electrónicos \ ProductAccountConfirmation.htm'

me parece extraño que el sitio será acogida en IIS a través de Visual Studio. Pensé que esto me daría la ubicación dll en mi carpeta de proyecto en dev y la carpeta de implementación para IIS en producción.

Respuesta

9

Lo que está buscando es Server.MapPath(), le dará la ruta de la aplicación que está ejecutando.

1

Con ASP.Net, se hace una copia de los ensamblajes, y es la copia que se utiliza en tiempo de ejecución. Sus dlls en la carpeta del proyecto son meramente plantillas.

¿Con qué propósito necesita este directorio? Puede haber una forma alternativa de lograr tus objetivos.

1

Usted puede obtener la ruta raíz de su aplicación con:

@HostingEnvironment.ApplicationPhysicalPath 
4

Digamos que usted tiene un archivo llamado template1.html en sus correos electrónicos subcarpeta. Este código debería darle la ruta completa de ese archivo HTML.

HttpContext.Current.Server.MapPath("/") + "\\emails\\template1.html"; 
3
AppDomain.CurrentDomain.BaseDirectory 
+0

Cuando responda a un mensaje, por favor, añadir una explicación detallada o un enlace. – AFract

+0

Simplemente perfecto, incluso funciona para sitios web sub-ubicados bajo IIS. –

Cuestiones relacionadas