2012-04-10 10 views
5

Soy bastante nuevo en el desarrollo web. Estoy en el punto de implementación (para probar). Tengo algunos lugares (quizás 4 lugares) donde tuve que agregar un URI que no era relativo en la aplicación. Entonces ahora, en el despliegue, esos necesitan ser cambiados.¿Existe alguna forma inteligente de implementar mi aplicación Silverlight y cambiar la configuración programáticamente?

¿Hay alguna manera hábil de manejar esto? Por pulido me refiero a no manualmente pasando por la aplicación y cambiando los URI o una manta encontrar y reemplazar (demasiado arriesgado). Solo tengo 4 lugares para cambiar ahora, pero esto podría cambiar fácilmente y causar problemas de implementación.

Estoy usando una pila de tecnología de Microsoft. Silverlight, ASP.NET, RIA, etc. El desarrollo se realiza en Visual Studio 2010.

Me di cuenta de que los proyectos web tienen una transformación ingeniosa para web.config ... lo que es bueno. ¿Hay un mecanismo equivalente para los recursos Silverlight? ¿Alguna otra manera?

¿Alguna idea?

Respuesta

1

Acabo de encontrar this post on stack overflow sobre el uso del mecanismo de transformación incorporado de MS para referencias de servicio. Pero en realidad ... es genérico para cualquier archivo XML. Lo que significa que pude aplicar los mismos conceptos a mi archivo XML personalizado que contenía algunas configuraciones ... y funcionó de manera brillante.

Ver la solución Randoms. No es la solución seleccionada, pero es mucho mejor que cualquier otra cosa que haya visto.

1

Una forma es pasar los parámetros a la aplicación Silverlight desde la página web de alojamiento.

<object ....> 
... 
<param name="initParams" value="prm1=http://google.com,prm2=http://bing.com" /> 
... 
</object> 

y el acceso de su aplicación Silverlight (App.xaml.cs, Application_Startup método):

foreach (var item in e.Initparams) 
{ 
    this.Resources.Add(item.Key, item.Value); 
} 

acceder a los parámetros:

var prm1 = App.Current.Resources["prm1"].ToString(); 
0

No es muy bonito, pero se puede comprobar por el DEBUG define (definido en versiones de modo de depuración por defecto):

#if (DEBUG) 
    myUrl = "http://www.google.com"; 
#else 
    myUrl = "http://www.bing.com"; 
#endif 
Cuestiones relacionadas