2009-06-20 14 views
7

Estoy creando un servicio de datos rápido en WCF al que accederá una aplicación pública de Silverlight 2.0. Como mis datos son muy estáticos y relativamente simples, me gustaría simplemente almacenarlos en archivos XML locales (lo cual es más fácil ya que hay un número MUY limitado de personas que alguna vez lo editarán).Rutas relativas en el servicio WCF alojado en IIS

Me pregunto cuál será la mejor forma de encontrar una ruta relativa dentro de mi servicio. En ASP.NET tradicional podría usar Server.MapPath ... dentro de este servicio WCF nada similar está disponible. En última instancia, esta solución se alojará en un proveedor de alojamiento web del que no tengo control, por lo que no puedo codificar ninguna ubicación fija. Prefiero obtener una ruta relativa a algunos archivos XML en mi carpeta AppData.

¿Alguna sugerencia?

Respuesta

11

Usted podría tratar de usar Environment.CurrentDirectory o AppDomain.CurrentDomain.BaseDirectory

+4

AppDomain.CurrentDomain.BaseDirectory devuelve la ruta correcta. Pero Environment.CurrentDirectory parece devolver alguna ruta dentro de la carpeta {archivos de programa}. Gracias por tu ayuda. –

2

Los servicios WCF seguir teniendo acceso a una gran cantidad de las mismas cosas que sus páginas ASP.NET (ya que, al final, todavía hay una Solicitud y respuesta HTTP). Puede seguir utilizando Server.MapPath así:

HttpContext.Current.Server.MapPath(...) 
+1

Eso solo funcionará si habilita el modo de compatibilidad ASP.NET, y a menos que desee portar un servicio web ASMX existente a WCF, rara vez hay alguna razón para hacerlo. –

0

En primer lugar, añadir una operación para el servicio a devolver el directorio actual. Haga que la nueva operación simplemente devuelva Environment.CurrentDirectory. En el cliente, verifique si le sorprende el directorio actual. Ajustar según sea necesario.

1

Puede almacenar los archivos en IsolatedStorage en lugar de en su carpeta para la aplicación. Mire el ejemplo en la página vinculada para ver cómo funciona.

Cuestiones relacionadas