.net - como - parametros dinamicos reporting services
Pasar parámetros de URL a una aplicación ClickOnce en cualquier navegador (1)
Hay un pequeño truco ingenioso para ClickOnce en el que puedes codificar parámetros directamente en la URL que usa setup.exe. Entonces, por ejemplo, para crear un setup.exe que contenga su parámetro ''flavor = grape'', puede ejecutar lo siguiente desde la línea de comando:
copy setup.exe setup-for-grape.exe
setup.exe -url="http://foo.bar/MyApp.application?flavor=grape" /dest=setup-for-grape.exe
Esto usa la bandera indocumentada / dest para enviar los resultados al archivo setup-for-grape.exe, en lugar de modificar el setup.exe original. Después de hacer esto, setup-for-grape.exe apuntará a su URL y contendrá su parámetro flavor = grape. Tenga en cuenta que si está utilizando la firma, tendrá que hacer esto en una copia no firmada de su setup.exe, y luego firmarlo luego, ya que rompe la firma.
Si el número de posibles opciones de parámetros es bastante limitado, puede generar setup.exe para todas ellas y vincularlas desde su sitio web.
Por otro lado, si hay un número ilimitado de opciones, puede configurar un servicio web que tome algunos parámetros, genere un archivo setup.exe con los parámetros deseados codificados y lo escuche nuevamente al cliente. He usado este método para generar setup.exe para clientes conectados a servidores específicos: las URL de instalación del cliente tienen codificada la información de conexión del servidor, de modo que cuando se instala un cliente, éste sabe automáticamente a qué servidor conectarse.
Por supuesto, si no desea usar setup.exe, o si su entorno corporativo restrictivo no lo permite, todo esto sale directamente de la ventana. Pero con suerte lo encontrará útil, o al menos informativo.
Tengo una aplicación ClickOnce, y necesito la capacidad de pasarle parámetros de URL. Por ejemplo, un usuario podría hacer clic en una URL del formulario "http://foo.bar/MyApp.application?flavor=grape", y esto iniciará mi aplicación, pasando la consulta "? Flavor = grape".
Desafortunadamente, parece que esto solo funciona en IE de manera inmediata. En Firefox y Chrome, el usuario debe instalar complementos para que la implementación de ClickOnce funcione. Mis usuarios trabajan en un ambiente corporativo restrictivo, y no tienen permitido instalar complementos, ni nada por el estilo (ClickOnce sí funciona para ellos). Entonces qué hago ?
Un truco que podría pensar es registrar mi aplicación como manejador de archivos para una extensión de archivo suficientemente única, como ".bugmaster". Entonces, o así fue mi teoría, podría hacer que mi servidor web genere un archivo llamado "flavor_grape.bugmaster"; el usuario hará clic en una URL que apunta a ese archivo, luego elija "Ejecutar" en lugar de "Guardar", y esto iniciará mi aplicación, que luego analizará el nombre del archivo para los parámetros de la URL. Desafortunadamente, este enfoque tampoco funciona. Funciona perfectamente bien cuando el archivo "flavor_grape.bugmaster" se abre desde el sistema de archivos local, pero, por alguna razón, esto no funciona cuando el usuario intenta abrir el archivo desde un navegador.
¿Alguien tiene alguna otra idea?