agregar sitio web que esta dentro uan web en iis

Iniciado por desna, 10 Septiembre 2013, 15:54 PM

0 Miembros y 1 Visitante están viendo este tema.

desna

Hola
He puesto el servidor ISS de windows y he conseguido agregar un sitio web,
pero al intentar agregar otra pagina que esta dentro la primera, al llevar la URL ya mas simbolos algunos de ellos de los no permitidos como x ejemplo guion no me deja agregarla

Me podeis decir como se puede agregar paginas que esten dentro de otra pagina?

Cual es el nombre realmente de una pagina que esta dentro de otra pagina?   para buscar informacion

saludos

el-brujo

¿Agregar otra página? ¿Te refieres a añadir otro dominio al IIS? ¿O añadir un link de una página a otra?

Simplemente tienes que poner un link al nombre de la otra página:

<a href="pagina2.html">pagina 2</a>

Y procura no usar acentos, suelen dan problemas xD

pero en principio guión bajo o guiones no hay problema

<a href="pagina_2.html">pagina 2</a>

Y comprueba que la pagina_2.html tenga ese nombre y esté en la raíz del sitio.

En éste otro ejemplo, deberías poner le archivo pagina_2.html dentro de la carpeta paginas

<a href="paginas/pagina_2.html">pagina 2</a>


WHK

#2
Normalmente no se puede porque internet services trabaja por proyectos y cada proyecto es un directorio, no es como todo el resto de los demas lenguajes y servidores donde se interpreta el script principal y listo, acá cada configuración, propiedades, etc son manejadas a traves de un archivo de configuraciones principal que lo gestiona el administrador de internet services y no la página de forma independiente.

Por lo tanto teoricamente no se puede, internet services no está diseñado para eso... pero lo que si puedes hacer es compilar tu código y ponerlo en un subdirectorio de una aplicación, te va a funcionar pero no podrás darle una configuración independiente, de hecho todas las configuraciones del sitio principal se aplicarán al sistema de ese otro directorio.

Normalmente las configuraciones de una aplicación WEB quedan definidas en un archivo de configuración llamado desde el archivo index y de esta manera prevenir este tipo de situaciones y utilizar un htaccess por ejemplo solo para configuraciones globales a nivel de servidor pero en asp y .net es distinto, por ser un código compilado y no interpretado todas las configuraciones de .net o sql van en el web.config afectado a todos los subdirectorios como si se tratase de un proyecto único.

Normalmente las aplicaciones .net sobre aspx e internet services se usan para personas que no se quieren desgastar para poder crear una aplicación, está casi todo hecho, no hay rendimiento ni velocidad ni estabilidad ni escalabilidad ni nada, solo hay comodidad y rapidez en el desarrollo, recuerda que los productos Microsoft son "COMERCIALES" y las empresas no se desgastan en averiguar nuevas tecnologías, solo usan lo que microsoft les da y se ajustan a la versión de .net y listo, ni si quiera windows server está diseñado para ofrecer el mayor rendimiento del hardware, solo está diseñado para una comodidad de ventanitas y tareas rapidas, no tienen portabilidad oficial porque si trabajas con microsoft entonces no trabajas con nadie mas.

Vamos, por ejemplo si tienes una pagina con dos pestañas y quieres que al hacer click se oculte un panel y aparezca el otro debes utilizar los controles de botonera y controles de panel donde el boton tiene un evento "OnClick" y ese evento se llama desde la clase c# por ejemplo y desde ahí le das la propiedad visible true o false a un panel... en la práctica cuando le haces click al botón manda una petición post con todas las configuraciones de la aplicación (viewstate) y luego se vuelve a cargar la página solo con el control visible.... o sea..  en ves de hacerlo desde javascript con un simple mostrar u ocultar (cosa que se puede pero no es recomendado por microsoft).... esto no es rendimiento, esto es:



Por este motivo comprenderás que "poner un proyecto dentro de la carpeta de otro proyecto" para Microsoft es un tema sin importancia porque las empresas trabajan con una carpeta por proyecto y con eso les basta para que todo funcione como reloj. Es posible pero no es recomendable.




Ahora... si lo que necesitas es lo que dice el-brujo entonces necesitas trabajar con controles de enlaces, acá no debes usar la etiqueta <a ...>, acá se usa:
<HyperLink runat="server" ID="enlace" cssClass="abc" Text="Enlace" NavigateUrl="~/abc.aspx" />

Esto equivale cuando se compila a:
<a id="control$idinterno$enlace" class="abc" href="../../abc.aspx">Enlace</a>

Donde la colita de chancho es la ruta virtual de tu aplicación, recuerda que asp calcula la url final del archivo de forma interna, si tienes un archivo en un directorio inferior debes escribirlo así:
~/../abc.aspx y asp se encargará de escribir en la página ../../abc.aspx dependiendo del directorio donde estés. Olvida las rutas absolutas por configuración, esto es asp y acá se usan las rutas virtuales para cada cosa.

El problema como te decia antes es que son dos proyectos o dos webs distintas, por lo tanto la ruta virtual de tu segundo proyecto dará error porque no es parte del primer proyecto.

En ese caso lo que puedes hacer es crear un enlace normal <a href="..."> hacia la otra web y ya.. pero para comunicarlos debes crear un tercer proyecto para que se comuniquen, este servicio puede ser un soap o un wcf con metodos internos donde las capas de los proyectos se comunican entre si utilizando servicios soap. Recuerda que en asp un proyecto está hecho por capas y para que la capa de presentación llegue a otra capa de presentación de otro proyecto donde se envian valores debes hacerlo via servicio y no via web (esta es la manera oficial, tambien puedes hacerlo via post normal pero no está recomendado por microsoft).

Vamos, esto es asp, es así, son conjuntos de proyectos (solución) hechos en tu visual studio, necesitas dos proyectos mas un proyecto de servicio de comunicación para que ambos proyectos se comuniquen (o sea en la práctica tendrás 3 paginas pero uno será servicio xml soap).

Desde otros lenguajes como php, python, node, java, etc etc basta con hacer una petición post hacia la otra web o una peticion get hacia la sección necesitada y ya, haces un archivo global con las urls absolutas hacia donde apuntarán los enlaces y listo, no habrá problemas, pero en asp lo "oficial" es crear un nuevo proyecto por cada capa donde cada aplicación tiene por lo menos 4 capas, en los demás lenguajes utilizas MVC y todas las capas van en una sola utilizando el valanceo de cargas del servidor web pero con microsoft debes separar cada capa en un proyecto para que cada capa lo puedas montar en un servidor diferente porque el hardware administrado por los softwares de microsoft no son capaces de hacer un valanceo de carga eficiente, estan obligados a utilizar un hardware que haga el balanceo a traves de los distintos nodos,.. vamos esto no es linux es windows y acá desembolsas dinero, esto es comercial, asp no lo hizo una comunidad de personas que quieren que funcione todo bien, lo hizo una empresa que quiere que desembolses para mover sus acciones y el de los demas fabricantes.