2010-03-31 7 views
5

Básicamente estoy tratando de hacer lo mismo que this question, crear una nueva aplicación dentro de una carpeta para que se pueda acceder de la siguiente manera.Creación de sub-aplicaciones .NET 3.0 en aplicaciones .NET 1.1 en IIS/ASP.Net

* http://www.domain.com/ < Main App 
* http://www.domain.com/newapp < New App 

El problema es que newapp está leyendo el web.config de la aplicación principal, que está causando errores, ya que no tiene todas las mismas dlls etc.
Para Nueva aplicación, en IIS, la partida point está establecido en/newapp, por lo que no estoy seguro de por qué está leyendo el archivo web.config de/en absoluto. Se establece como su propia aplicación.

Estoy probando esto en IIS6 en XP Pro, así que no estoy seguro de si eso hace la diferencia. La aplicación principal es dotnet 1.1 y New App is 3.0.

Editar: Adición de 'inheritInChildApplications a <location> no funciona en 1.1, se produce un error:

Parser Error Message: Unrecognized attribute 'inheritInChildApplications' 

Respuesta

4

Esto es por diseño. Web.config se lee desde la raíz de la carpeta de la aplicación en cuestión. Todos los cambios en la raíz se aplican a su aplicación a menos que su aplicación la cambie. Lea esto MSDN link para obtener una mejor comprensión de la jerarquía de Web.config & herencia.

Para que su aplicación ignore las configuraciones en la raíz, necesita aplicar el elemento location con el atributo inheritInChildApplications establecido en false para la ruta.

Algo así como:

<location path="." inheritInChildApplications="false"> 
<settings.....> 
</location 

Por ejemplo, si usted tiene una sección en la raíz web.config que es específica para la aplicación de la raíz única, luego envolver el elemento lugar alrededor de esa sección. Usa la ruta de "." para indicar que desea que todos los elementos en la ruta debajo de esta carpeta de aplicaciones NO hereden esta sección.

+0

que añade a esto alrededor en la raíz, pero como se trata de una aplicación 1.1, no la reconoce: recibo este error cuando intento ver la página en la raíz: Mensaje de error del analizador: atributo no reconocido 'inheritInChildApplications' – Karen

+0

Oh. Eso sería un problema. Este elemento es para 2.0 y superior. A menos que pueda obtener la versión 1.1 a 2.0, podría estar un poco trabado, ya que esto es por diseño de cómo funciona la web.config. – klabranche

+0

Lo único que encontré fue agregar eliminar etiquetas al elemento web.config para cada elemento que causa problemas. ex: . Sin embargo, esto hace que la aplicación secundaria web.config dependa del padre, por lo que probablemente no sea la mejor opción. – Karen

0

Como se ha dicho, la inheritInChildApplications no funciona en .net 1.1.

He estado haciendo una gran cantidad de investigación en esta área y originalmente llegué aquí buscando soluciones. El sujeto no deja en claro que esta es una pregunta específica 1.1.

Si usted está teniendo problemas y sus aplicaciones son 2.0 o anterior, entonces echa un vistazo a este artículo para obtener una gran cantidad de información detallada información sobre los inheritInChildApplications atribuyen:

+0

Lo siento, agregué más detalles al tema para que quede más claro. En el momento de la publicación original, no me di cuenta de que era un problema 1.1. – Karen

Cuestiones relacionadas