La forma correcta de resolver esto es hacer que la capa de presentación pase la ruta a la capa empresarial.
Para decirlo de otra manera, el propósito de tener una capa de negocios es crear una separación de preocupaciones entre la ui y los procesos de negocio. Si fuerza al proceso de negocio a conocer la capa de la interfaz de usuario, está violando esa separación de preocupaciones.
Hay varias maneras de lidiar con esto. Podría pasar la ruta de acceso a la capa empresarial cuando se construye la capa de negocio, como a través de la inicialización del constructor o mediante la inyección de dependencia. O puede pasarlo a la llamada de método. O puede crear alguna forma de archivo de configuración que carga su capa empresarial que contiene la ruta.
Hay muchas maneras de hacerlo que no violan la separación de preocupaciones.
me gusta este enfoque, en realidad. No crea ninguna dependencia en ASP.NET, y solo usa dependencias que son comunes a cualquier aplicación .NET. La única preocupación es que relaciona las cosas con el sistema operativo hasta cierto punto si no tienes cuidado. –