none
Problema con Web.config...

    Question

  • Muy buenas...

    Tengo un sitio web en el IIS, dentro de el tengo 2 Directorios Virtuales Independientes cada uno con su Web.config...
    Lo que pasa ahora es que subi una pagina para dispositivos mobiles, lo puse Otro directorio virtual, pero cuando intento acceder a ella me lanza un error del web.config... Me puse a leer el error y me di cuenta de que estaba cogiendo el web.config del Sitio Principal, osea seria algo asi...

    Sitio Principal
    |
    |------>Directorio Virtual 1
    |                                   |
    |                                   |----->Web.Config del Dir. Virtual 1
    |
    |------>Directorio Virtual 2
    |                                   |
    |                                   |----->Web.Config del Dir. Virtual 2
    |
    |------>Directorio Virtual 3 (Dispositivos Moviles)
    |                                   |
    |                                   |----->Web.Config del Dir. Virtual 3
    |
    |------>Web.config del Sitio Principal


    Como explique lo que pasa es que el Directorio Virtual 3 esta cogiendo el Web.Config del Sitio Principal...



    Cualquier ayuda se agradece!!


    Salu3!!

    Tuesday, July 21, 2009 4:39 PM

All replies

  • Hola Nicolás,


    dentro del IIS podemos configurar la herencia de cofiguración. Para eso modificamos los siguientes archivos:

    Machine.config gestiona todo el servidor IIS y sus parámetros se heredan a todos los proyectos del servidor.

    La ruta donde lo encontraras es la siguiente:

    C:\WINDOWS\Microsoft.NET\Framework\vXXXXXXX\CONFIG\machine.config

    Luego tenemos el web.config a nivel de directorio virtual y su configuración sobreescribe la del machine.config (las que existan en él).

    c:\inetpub\wwwroot\web.config

    Y luego tenemos el web.config a nivel de aplicacion y sus configuraciones sobreescriben las de los dos archivos anteriores.

    Estos archivos los puedes modificar dentro del IIS en la pestaña ASP.NET.


    También hay otra alternativa que es insertar en el web.config del directorio principal (el padre), dentro de la sección system.web:

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

    <system.web>

    ...

    </system.web>

    </location>


    Un saludo.


    Un saludo, Joaquín Sosa noDevelop.com
    Tuesday, July 21, 2009 5:49 PM
  • Buenas Joaquin y gracias por responder...

    De la manera que me explicas en el web.config no funciona... Me lanza un error, me dice algo como que no puedo poner location porque la seccion tiene la propiedad de setear el location en false, pero tampoco supe como arreglarlo...

    Mientras tanto, modifique un poco el directorio para que cumpliera con el web.config, pero no es lo mas adecuado...

    Segun explicas, el Web.config del Directorio 3 deberia sobreescribir el del directorio principal y el machine.config, que motivos podria haber para que eso no se cumpliera?
    Tuesday, July 21, 2009 8:04 PM
  • Nicolás,

    puedes pegar el trozo de código del web.config?

    Gracias.
    Un saludo, Joaquín Sosa noDevelop.com
    Tuesday, July 21, 2009 8:15 PM
  • hola,

    te explico en realidad la aplicacion esta funcionando perfectamente, cuando en tu deploy solo usas directorios virtuales estos usan el web.config del sitio, y solo puede haber uno por sitio.

    o sea solo los sitios web pueden tener web.config, los directorios virtuales simpre usaran el del sitio al que corresponda.

    lo mismo apsa con la carpeta \bin donde tiene los emsamblados, solo hay una por sitio y es alli donde pones las dll de todos los directorios virtuales.

    si queires que cada subaplicacion tenga un web.config diferentes debes colocar a cada una en un sitio diferente.

    la otra es hacer un merge de web.config y unificar cada uno en uno inico, es por ello que se crearon en las section y los sectiongroups en el web.config, para poder separar cada modulo de tu apliacion.

    Customizing SectionGroups and Sections in Web.config

    tambien se puede hacer con el app.config y es similar para ambos.

     Understanding Section Handlers - App.config File

    o sea podrias crear secciones para cada directorio virtual y que cada una tome o lea de la seccion que le corresponde, pero el web.config es unico a nivel de sitio.

    Custom app.config Config Section Handler

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, July 22, 2009 2:42 AM
  • Ahora estoy confundido... :S

    Porque lo que pasa es que en el web.config del directorio tengo una conexion a una base de datos Oracle y da la casualidad que en el web.config del Sitio Principal ese nombre de la conexion corresponde a una base de datos SQL, osea ni siquiera los nombres de las Base de datos, ni tablas son los mismos. Sobre lo de la carpeta bin, no creo que sea una unica por sitio, porque precisamente el error que me da es que me faltan las dll en la carpeta bin del directorio virtual de algo que implemente en el sitio Principal (ELMAH)...

    La verdad estoy hecho un lio... No se como es posible que agarre la configuracion del web.config del Sitio Principal y la Conexion del web.config del Directorio...

    Aqui les dejo los 2 Web.Config...


    Este es el del Sitio Principal....
    <?xml version="1.0"?>
    <!-- 
        Note: As an alternative to hand editing this file you can use the 
        web admin tool to configure settings for your application. Use
        the Website->Asp.Net Configuration option in Visual Studio.
        A full list of settings and comments can be found in 
        machine.config.comments usually located in 
        \Windows\Microsoft.Net\Framework\v2.x\Config 
    -->
    <configuration>
      
        <configSections>
          
          <sectionGroup name="elmah">
            <!-- NOTE! If you are using ASP.NET 1.x then remove the
                     requirePermission="false" attribute from the section
                     elements below as those are only needed for
                     partially trusted applications in ASP.NET 2.0 -->
            <section name="security" type="Elmah.SecuritySectionHandler, Elmah"/>
            <section name="errorLog" type="Elmah.ErrorLogSectionHandler, Elmah"/>
            <section name="errorMail" type="Elmah.ErrorMailSectionHandler, Elmah"/>
            <section name="errorFilter" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
            <section name="errorTweet" type="Elmah.ErrorTweetSectionHandler, Elmah"/>
          </sectionGroup>
          <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
              <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
              <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
                <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
              </sectionGroup>
            </sectionGroup>
          </sectionGroup>
          
        </configSections>
      <appSettings>
          <add key="conn" value="Provider=OraOLEDB.oracle;Data Source=XXX;Connection Timeout=6000;Pooling=False;User Id=XXX;Password=XXX;OLEDB.NET=True;"/>
          <add key="con1" value="Provider=sqloledb;Data Source=XXX;Initial Catalog=XXX_REAL;User Id=XXX;Password=XXX"/>
        </appSettings>
        <connectionStrings/>
        <elmah>
          <security allowRemoteAccess="1"/>
          <!--
                Use to log errors to Microsoft SQL Server 2000 or 2005
                using ASP.NET 2.0. Set value of connectionStringName attribute
                to the name of the connection string settings to use from
                the <connectionStrings> section.
            
            <errorLog type="Elmah.SqlErrorLog, Elmah" 
                  connectionStringName="Elmah.sql" />
            -->
          <!--
                Use to log errors into separate XML files that are stored on 
                disk at the path specified in the logPath attribute.
    
            
            -->
          <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/ErrLogs"/>
          <!--
                Use to send error reports by e-mail and adjust the attributes
                according to settings desired. Note that only the from and
                to attributes are required. The rest are optional and may
                be removed. If the SMTP server does not require authentication,
                you MUST remove the userName and password attributes or
                set them to empty values (resulting in zero-length strings).
                If you are using ELMAH compiled for .NET Framework 1.x, then
                the to attribute may contain multiple recipient addresses,
                each of which must be delimited by a semi-colon(;). If you are 
                using ELMAH compiled for .NET Framework 2.0 or later, then the
                to attribute may contain multiple recipient addresses,
                each of which must be delimited by a comma (,).
    
            <errorMail 
                from="elmah@example.com" 
                to="admin@example.com" 
                subject="..."
                priority="Low|Normal|High"
                async="true|false"
                smtpPort="25"
                smtpServer="smtp.example.com" 
                useSsl="true|false"
                userName="johndoe"
                password="secret" 
                noYsod="true|false" />
            -->
          <!--
                Use to prevent errors from being mailed or logged based on
                assertions. An assertion evaluates the current context, resulting
                in a Boolean outcome. An error is filtered if the assertion results
                in true. For a more detailed explanation, see:
                
                http://code.google.com/p/elmah/wiki/ErrorFiltering
                
                The example below will filter errors when any of the
                following conditions occur:
                
                - The status code is set to 404 
                - The root/base cause is System.IO.FileNotFoundException
                - The root/base cause is System.Web.HttpRequestValidationException
                - The user agent making the request identifies itself as "crawler"
                - The request is from the local machine
                
                The assertion below is expressed as a JScript expression and is the
                most generic and simplest of the assertions to use if you are
                familiar with the JavaScript language. It can work in Medium and
                Full trust environments.
    
            <errorFilter>
                <test>
                    <jscript>
                        <![CDATA[
                        // @assembly mscorlib
                        // @assembly System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
                        // @import System.IO
                        // @import System.Web
    
                        HttpStatusCode == 404
                        || BaseException instanceof FileNotFoundException 
                        || BaseException instanceof HttpRequestValidationException
                        /* Using RegExp below (see http://msdn.microsoft.com/en-us/library/h6e2eb7w.aspx) */
                        || Context.Request.UserAgent.match(/crawler/i)                      
                        || Context.Request.ServerVariables['REMOTE_ADDR'] == '127.0.0.1' // IPv4 only
                        ]]>
                    </jscript>
                </test>
            </errorFilter>
            -->
        </elmah>
        <system.web>
          <!-- 
                Set compilation debug="true" to insert debugging 
                symbols into the compiled page. Because this 
                affects performance, set this value to true only 
                during development.
    
                Visual Basic options:
                Set strict="true" to disallow all data type conversions 
                where data loss can occur. 
                Set explicit="true" to force declaration of all variables.
            -->
          <compilation debug="true" strict="false" explicit="true">
            <assemblies>
              <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
              <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
              <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
              <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
              <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
              <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
              <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            </assemblies>
          </compilation>
          <pages>
            <namespaces>
              <clear/>
              <add namespace="System"/>
              <add namespace="System.Collections"/>
              <add namespace="System.Collections.Specialized"/>
              <add namespace="System.Configuration"/>
              <add namespace="System.Text"/>
              <add namespace="System.Text.RegularExpressions"/>
              <add namespace="System.Web"/>
              <add namespace="System.Web.Caching"/>
              <add namespace="System.Web.SessionState"/>
              <add namespace="System.Web.Security"/>
              <add namespace="System.Web.Profile"/>
              <add namespace="System.Web.UI"/>
              <add namespace="System.Web.UI.WebControls"/>
              <add namespace="System.Web.UI.WebControls.WebParts"/>
              <add namespace="System.Web.UI.HtmlControls"/>
            </namespaces>
            <controls>
              <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
              <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            </controls>
          </pages>
          <!--
                The <authentication> section enables configuration 
                of the security authentication mode used by 
                ASP.NET to identify an incoming user. 
            -->
          <authentication mode="Windows"/>
          <!--
                The <customErrors> section enables configuration 
                of what to do if/when an unhandled error occurs 
                during the execution of a request. Specifically, 
                it enables developers to configure html error pages 
                to be displayed in place of a error stack trace.
    
            <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
          <customErrors mode="RemoteOnly" defaultRedirect="PError.aspx">
          </customErrors>
          <httpModules>
            <!-- 
                    Uncomment the entry below if all of the following are true: 
                    1) you are using wildcard mapping in IIS 5.x
                    2) you are not using .Net 1.0
                    3) you are experiencing http 404 errors when trying to view
                       elmah.axd or elmah.axd/detail?id=* etc
                -->
            <add name="FixIIS5xWildcardMapping" type="Elmah.FixIIS5xWildcardMappingModule, Elmah"/>
            <!-- 
                    Uncomment the entry below if you are using MS Ajax v1.0.x.x
                    and want to capture errors during Partial Postbacks
                    NB This is not required for the version of Ajax shipped with .Net Framework v3.5!
                -->
            <!--<add name="MsAjaxDeltaErrorLog" type="Elmah.MsAjaxDeltaErrorLogModule, Elmah"/>-->
            <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
            <!-- 
                    Uncomment the entries below if error mail reporting 
                    and filtering is desired.
                -->
            <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
            <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
            <add name="ErrorTweet" type="Elmah.ErrorTweetModule, Elmah"/>
            <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          </httpModules>
          <httpHandlers>
            <!-- 
                    This entry provides the UI for the error log at
                    elmah.axd below the application path. For example,
                    if your domain is www.example.com and your application
                    is at the root, then you can view the error log by
                    visiting the following URL:
                    
                    http://www.example.com/elmah.axd
                    
                    IMPORTANT! To secure this location, consult the
                    following notes:
                    
                    http://code.google.com/p/elmah/wiki/SecuringErrorLogPages
                -->
            <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
            <remove verb="*" path="*.asmx"/>
            <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          </httpHandlers>
         
        </system.web>
    
        <system.codedom>
          <compilers>
            <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
              <providerOption name="CompilerVersion" value="v3.5"/>
              <providerOption name="WarnAsError" value="false"/>
            </compiler>
            <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
              <providerOption name="CompilerVersion" value="v3.5"/>
              <providerOption name="OptionInfer" value="true"/>
              <providerOption name="WarnAsError" value="false"/>
            </compiler>
          </compilers>
        </system.codedom>
        <system.webServer>
          <validation validateIntegratedModeConfiguration="false"/>
          <modules>
            <remove name="ScriptModule"/>
            <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          </modules>
          <handlers>
            <remove name="WebServiceHandlerFactory-Integrated"/>
            <remove name="ScriptHandlerFactory"/>
            <remove name="ScriptHandlerFactoryAppServices"/>
            <remove name="ScriptResource"/>
            <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          </handlers>
        </system.webServer>
        <runtime>
          <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
              <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
              <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
            </dependentAssembly>
            <dependentAssembly>
              <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
              <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
            </dependentAssembly>
          </assemblyBinding>
        </runtime>
        
         
        
       </configuration>
    


    Y esta es la del Directorio Virtual...

    <?xml version="1.0"?>
    <!-- Note: As an alternative to manually editing this file you can use the web admin tool to
         configure settings for your application. Use the Website->ASP.NET Configuration option 
         in Visual Studio.
         A full list of settings and comments can be found in machine.config.comments usually
         located in \Windows\Microsoft.NET\Framework\v2.0.xxxxx\Config
     -->
    <configuration>
      <appSettings>
        <add key="con1" value="Provider=OraOLEDB.oracle;Data Source=XXX;Connection Timeout=6000;Pooling=False;User Id=XXX;Password=XXX;OLEDB.NET=True;"/>
      </appSettings>
    	<connectionStrings/>
    	<system.web>
    		<sessionState cookieless="true" regenerateExpiredSessionId="false" mode="InProc" />
        <!-- 
                Set compilation debug="true" to insert debugging symbols into the compiled page.
                Because this affects performance, set this value to true only during development.
            -->
    		<compilation debug="true"/>
    		<!--
                The <authentication> section enables configuration of the security authentication
                mode used by ASP.NET to identify an incoming user. 
            -->
    		<authentication mode="Windows"/>
    		<!--
                The <customErrors> section enables configuration of what to do if/when an unhandled
                error occurs during the execution of a request.  Specifically, it enables developers
                to configure html error pages to be displayed in place of an error stack trace.
            -->
    		<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
    			<!-- 
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            -->
    		</customErrors>
    		<!--
                FULLY QUALIFY URL FOR CLIENT REDIRECTS
                Some mobile devices require that the URL for client redirects be fully qualified.
            -->
    		<httpRuntime useFullyQualifiedRedirectUrl="true"/>
    		<!--
              SPECIFY COOKIELESS DATA DICTIONARY TYPE
              This will cause the dictionary contents to appear in the local request url querystring.
              This is required for forms authentication to work on cookieless devices.
            -->
    		<mobileControls cookielessDataDictionaryType="System.Web.Mobile.CookielessData"/>
    		<deviceFilters>
    			<filter name="isJPhone" compare="Type" argument="J-Phone"/>
    			<filter name="isHTML32" compare="PreferredRenderingType" argument="html32"/>
    			<filter name="isWML11" compare="PreferredRenderingType" argument="wml11"/>
    			<filter name="isCHTML10" compare="PreferredRenderingType" argument="chtml10"/>
    			<filter name="isGoAmerica" compare="Browser" argument="Go.web"/>
    			<filter name="isMME" compare="Browser" argument="Microsoft Mobile Explorer"/>
    			<filter name="isMyPalm" compare="Browser" argument="MyPalm"/>
    			<filter name="isPocketIE" compare="Browser" argument="Pocket IE"/>
    			<filter name="isUP3x" compare="Type" argument="Phone.com 3.x Browser"/>
    			<filter name="isUP4x" compare="Type" argument="Phone.com 4.x Browser"/>
    			<filter name="isEricssonR380" compare="Type" argument="Ericsson R380"/>
    			<filter name="isNokia7110" compare="Type" argument="Nokia 7110"/>
    			<filter name="prefersGIF" compare="PreferredImageMIME" argument="image/gif"/>
    			<filter name="prefersWBMP" compare="PreferredImageMIME" argument="image/vnd.wap.wbmp"/>
    			<filter name="supportsColor" compare="IsColor" argument="true"/>
    			<filter name="supportsCookies" compare="Cookies" argument="true"/>
    			<filter name="supportsJavaScript" compare="Javascript" argument="true"/>
    			<filter name="supportsVoiceCalls" compare="CanInitiateVoiceCall" argument="true"/>
    		</deviceFilters>
    	</system.web>
    </configuration>
    Como veran dentro del AppSettings tengo una conexion ("con1") que en el primero pertenece a SQL y en el Segundo a Oracle...

    Gracias por su ayuda!!

    Salu3!!
    Wednesday, July 22, 2009 1:11 PM
  • Puedes revisar, porque no veo la etiqueta de apertura del connectionStrings.

    <configuration>
     <appSettings>
     
        </appSettings>
     
     <connectionStrings>

    Suerte.
    Un saludo, Joaquín Sosa noDevelop.com
    Wednesday, July 22, 2009 2:28 PM
  • No guardo las conexiones en el ConectionStrings, las guardo en el AppSettings...
    Wednesday, July 22, 2009 2:35 PM
  • Hola Nicolas,

    el problema que observo es muy puntual, se esta intentado duplicar configuraciones entre web config de cada directorio en relación.

    Voy tratar de dar una solucion bien sencilla, para ver si te funciona:

    Intenta reproducir el escenario con un proyecto de visual studio, pero anexando en cada carpeta contenida dentro del proyecto un web.config basico: opcion add new item : web.config basico junto a sus aspx contenido, desde ahi hacer la respectiva prueba de deploy. entonce si todo esta bien

    Reinsertar esa información en el proyecto en productivo, pero anexando las configuraciones  faltante que depende el proyecto.  primero intenta hacer esto a raiz para ver el comportamiento y sino luego en directorio especifico si te lo pemirte obviamente.

    bueno amigo, cualquier cosa me avisa!

    Saludos.
    Developer
    Wednesday, July 22, 2009 2:56 PM
  • Hola Nicolás,

    si lo que comenta Megasoft2 no funciona. Una pregunta: ¿en el IIS tienes los dos directorios virtuales convertidos en aplicación?


    Un saludo, Joaquín Sosa noDevelop.com
    Wednesday, July 22, 2009 3:23 PM
  • Primero de todo Muchisimas gracias por su atencion y dedicacion...

    Ahora mismo lo que me dice Megasoft2 no dispongo del tiempo para probarlo, estoy algo ocupado....
    Pero esos sitios web los creo independientes el uno del otro ya que no tienen nada que ver, para cada uno abro el Visual Studio le doy a "Crear Nuevo Sitio Web" y empiezo con un Webform en blanco con el WebCongig que trae por default...

    Respecto a la pregunta de Joaquin Sosa...
    No se que significa eso de "Directorios Virtuales convertidos en Aplicacion"...

    En el IIS tengo el site Principal, dentro de este site tengo 3 Directorios Virtuales, el unico punto de relacion que tienen es que estan dentro del site principal, pero despues de eso, los cree individualmente .
    Wednesday, July 22, 2009 4:08 PM
  • Vale,

    sigue estos pasos que se comentan en http://msdn.microsoft.com/es-es/library/ha2y9493.aspx

    Para marcar un directorio virtual existente en Inetpub\Wwwroot como aplicación Web mediante IIS

    1. Abra el Administrador IIS y desplácese hasta el Sitio Web predeterminado, como en los procedimientos anteriores.

    2. Expanda el nodo Sitio Web predeterminado y busque el subdirectorio que desee designar como raíz de aplicación. En este ejemplo es exampleWebApp.

      Si el Administrador IIS ya estaba abierto al crear el directorio físico, puede que tenga que hacer clic en el botón Actualizar del Administrador IIS para ver el nuevo subdirectorio exampleWebApp.

    3. Haga clic con el botón secundario en el directorio que desea marcar como raíz de aplicación y, a continuación, haga clic en Propiedades.

    4. En la ficha Directorio, en la sección Configuración de la aplicación, haga clic en Crear.

    5. En el cuadro de texto Nombre de la aplicación, escriba el nombre de la aplicación y haga clic en Aceptar.

      Ahora, el directorio virtual es una raíz de aplicación.


      Y prueba ahora a ver. Dale permisos de ejecución de scripts a la aplicación.

      Suerte.


    Un saludo, Joaquín Sosa noDevelop.com
    Wednesday, July 22, 2009 4:20 PM
  • hola,

    si el tema en convertir un directorio virtual como sitio es que a este debes asignarle un puerto, bueno eso es hasta donde se, los sitios tiene puerto, y eso hace que cada directorio virtual sea en si una aplicacion separada.
    Si lo haces asi bueno ahi si puedes tener varios web.config.

    lo que pienso es que si quieres unirlos vas a tener que hacer un merge de web.config y assemblies en el \bin

    pero el del web.config sera el ams trabajoso si es que tienes keys con el mismo nombre, ya que vas a tener que diferenciarlas y cambair el codigod e cada aplicacion para que lea los nuevos nombres.


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, July 22, 2009 4:28 PM
  • Bueno.... Veo que este problema va para largo.... Lo malo que ahora mismo no tengo el tiempo para ir probando todo eso...

    Mientras tanto lo que hice fue agregar las dll de ELMAH al bin del site en el directorio virtual y todo corre bien...
    Voy a ir probando los que ustedes me comentan poco a poco y les explico como me va....

    Muchisimas gracias por su ayuda!!
    Salu3!!
    Wednesday, July 22, 2009 5:29 PM
  • Buenas amigos...

    Primero de todo muchas gracias por sus aportes e interes.

    Al final no supe a que se debe ese comportamiento, puede que sea una caracteristica especial de ELMAH, todos sus aportes me han ayudado en bastantes aspectos tanto el el entendimiento del web.config hasta la configuracion del IIS.

    Deje los web.config tal y como estan ya que por ahora el "problema" se soluciono, cuando tenga tiempo libre disponible me pondre a probar e investigar sobre este asunto...

    Una vez mas gracias a todos, y lo bueno es que si no aprendo por un lado, aprendo por otro...

    Salu3 y suerte!!!
    Thursday, July 23, 2009 2:50 PM
  • Ahhh!! Por si esto ayuda...

    Este es el site principal:
          Torneo Golf

    -----Los siguientes estan como Directorios virtuales dentro del Sitio Principal-----

    Este el el site para dispositivos moviles (El del problema con el web.config):
          Torneo Golf Mobile
    Y otro site  que por politicas de la empresa no puedo mostrar, este otro site genera reportes...
          Site X

    Friday, July 24, 2009 8:16 PM
  • Buenas tardes a todos como estan... se que es un poco tarde para responder pero les comento que me ha servido de mucho las respuestas aca dadas...
    y comentarles de que tengo un problema parecido al del compañero...

    lo q pasa es que despues de crear el directorio virtual dentro del sitio web principal. 
    Tengo que acceder a las variables de session creadas en el web site principal desde el directorio virtual dentro de este..

    no se si me se explicar pero agradeceria cualkier ayuda posible


    gracias de antemano.
    Tuesday, December 29, 2009 5:13 PM