Tengo un ensamblado al que hace referencia un servicio WCF alojado en IIS. El ensamblaje utiliza algunos archivos XSLT y estoy confundido sobre dónde vaciar estos archivos, ya sea creando una carpeta en el proyecto de ensamblaje o en el lado del servicio WCF y cómo puedo obtener la ruta física del archivo xslt en el ensamblado.Obtención de la ruta de un archivo en un conjunto de servicios wcf
Respuesta
ponerlos en una subcarpeta del ensamblaje de referencia, marcarlos como contenido y permitir Copiar al Directorio de salida.
Luego, en el código de montaje donde se necesita la ruta de acceso al archivo, obtener la ruta del conjunto de la ejecución y añadir subcarpeta esperado para la ruta, por ejemplo:
var dllPath = Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().Location);
var targetPath = Path.Combine(dllPath, "XsltFolder");
He hecho lo que me dijiste pero recibo el siguiente error No pude encontrar una parte de la ruta 'C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporal ASP.NET Files \ root \ d5e86da5 \ 28c7474e \ assembly \ dl3 \ e3edeed7 \ 4bb2927d_561fcc01 \ AV.BackOffice.Caliber.DLL \ XSLTs \ Violations.xslt '. El GetExecutingAssembly(). Loaction no devuelve la ruta esperada, creo, pero la carpeta XSLTs se copia en el directorio de depuración. – VJAI
servicios WCF Desde alojadas en IIS solo tienden a copiar la DLL a la carpeta temporal y no al contenido del proyecto que está configurado para copiar a la salida, hay que hacer referencia a la base de código real de la dll.
var codeBase = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
codeBase = codeBase.Substring(8); //Remove the "file:///" prefix in front of the actual path.
var dir = codeBase.Substring(0, codeBase.LastIndexOf("/", System.StringComparison.Ordinal) + 1); //Cut out the dll file name.
var file = @"ErrorMessages.xml";
var targetPath = dir + file;
Tengo Service.Host.dll y SvcImpl.dll (<% @ ServiceHost Service = "SvcImpl"%>) Service Host en IIS. Este código en SvcImpl.dll: 1) Assembly.GetEntryAssembly() obtiene nulo. 2) Assembly.GetExecutingAssembly() obtiene SvcImpl. 3) Assembly.GetCallingAssembly(); obtiene System.ServiceModel. ¿Cómo puedo obtener Service.Host ensamblado programáticamente en SvcImpl si Assembly.GetEntryAssembly() obtiene nulo ?. Ver detalles http://stackoverflow.com/questions/22691426/get-svchost-assembly-location-path-using-svcimplementation-assembly – Kiquenet
Trate de usar AppDomain.CurrentDomain.RelativeSearchPath
Cualquier XSLT, XML o archivos deben colocarse en relación a la carpeta raíz de la carpeta del servicio de WCF, carpeta raíz se puede lograr de la siguiente manera:
si (HttpContext.Current! = Null) { // "~ /" proporciona la carpeta física raíz del directorio virtual del Servicio WCF que esta DLL dll admite ..., // por ejemplo: E: \ PhyPath \ WCFServiceFolder \ RequestPhysicalPath = HttpContext.Current.Server. MapPath ("~ /"); }
- 1. Obtención de la ruta de acceso absoluta de un archivo
- 2. Implementación de un inicio de sesión único para un conjunto de servicios de WCF
- 3. Obtención de una ruta de archivo desde un identificador de archivo en Windows
- 4. Obtención de la ruta del archivo en java
- 5. Obtención de la ruta del archivo del módulo importado
- 6. Localización de un archivo en la ruta
- 7. Obtención de un ARCHIVO * desde un archivo estándar
- 8. ¿Cómo puedo modificar la ruta del archivo en un conjunto de parches de Git?
- 9. Cómo consumir múltiples servicios WCF de un cliente
- 10. Obtención del nombre de conjunto
- 11. Generación automática de un Explorador de API para servicios WCF
- 12. WCF un servicio o servicios múltiples
- 13. Obtención de la ruta de una secuencia de comandos R
- 14. Ant: Encuentre la ruta de un archivo en un directorio
- 15. Obtención de nombre (s) de carpeta de la ruta
- 16. Obtención de una ruta virtual relativa desde la ruta física
- 17. WCF certificado de obtención de valor codificado
- 18. WCF/WCF Data Services/Servicios WCF RIA
- 19. Exponer los servicios WCF que pertenecen a un Área en la aplicación MVC en una ruta enrutada
- 20. Conjunto valor predeterminado de un formulario de archivo de entrada
- 21. Cómo especificar la ubicación exacta de un conjunto en un archivo de configuración
- 22. Cómo transportar un conjunto de datos en un archivo csv?
- 23. Uso de estructuras con servicios de WCF
- 24. Obtención de NppExec para comprender la ruta del archivo actual en Notepad ++ (para scripts de Python)
- 25. ¿Cómo puedo imprimir un conjunto de archivos en un archivo, un nombre de archivo por línea?
- 26. Convertir la ruta de Cygwin a la ruta de Windows en un archivo MAKE
- 27. WCF 4 Rest Obtención de IP de la solicitud?
- 28. Obtención de la ruta Mis documentos en Java
- 29. ¿Cómo ver la ruta completa de un archivo en GDB?
- 30. ¿Hay alguna manera de exponer múltiples servicios de WCF a través de un punto final único?
¿alguna solución final al respecto? Tengo un problema similar http://stackoverflow.com/questions/22691426/get-svchost-assembly-location-path-using-svcimplementation-assembly – Kiquenet