¿Es posible reescribir los recursos de la aplicación Silverlight en tiempo de ejecución?

Hay un archivo ServiceReferences.ClientConfig que contiene diferentes configuraciones de los servicios WCF que usa la aplicación Silverlight. Agradable y fácil, excepto que una vez que los configura, no puede cambiarlos más tarde sin modificar un xap.

Quiero que esta configuración sea configurable con menos dolor. Hay varias opciones:

  • Agregue una sección dedicada en web.config donde un administrador pueda cambiarlos. Transfiera esta configuración a Silverlight y luego represente el objeto en la página. Analícelo en Silverlight, luego cree el canal manualmente. Algo que prefiero evitar.
  • Sería bueno si pudiéramos decir que la aplicación Silverlight carga ServiceReferences.ClientConfig no desde recursos xap, sino desde un uri específico. De esa manera podría colocar esta configuración a lo largo de web.config. Bonito. Aunque no es posible.
  • Si pudiera sustituir el solucionador de flujo de recursos, eso también funcionaría. Lamentablemente tampoco parece ser posible. Existe IApplicationResourceStreamResolver, pero es interno.
  • ¿Tal vez hay una manera de reescribir el flujo de recursos de la aplicación después de que se inicia una aplicación Silverlight?

preguntado el 02 de mayo de 12 a las 19:05

1 Respuestas

Supongo que desea crear el archivo de configuración de servicesclient en el tiempo de ejecución.

Si ese es el caso, simplemente cree el objeto de System.ServiceModel.BasicHttpBinding y asigne propiedades y asigne la URL del servicio a System.ServiceModel.EndpointAddress. Este objeto de vinculación y el objeto de dirección del punto final se pueden asignar al constructor del objeto del cliente y ¡listo!

contestado el 03 de mayo de 12 a las 06:05

Correcto, es posible. También me requerirá escribir código para almacenar configuraciones, analizarlas y transferirlas a un cliente. Pero lo que realmente quiero es reutilizar el código existente: ya hay una configuración que tiene todas las configuraciones que necesito, está en la forma que quiero (xml). Simplemente no parece posible cambiarlos una vez que se implementa la aplicación. Y de eso se trata la pregunta: ¿cómo almaceno la configuración fuera de xap y, sin embargo, la pongo a disposición de Silverlight? - Eugene Strizhok

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.