2008-12-12 25 views
31

estoy usando ASP.net con .NET 3.5 en IIS7 (Vista) con el módulo de reescritura de URL de Microsoft.asp.net, url rewrite module y web.config

Esto significa, que tengo una sección

<system.webServer> 
    <rewrite>...</rewrite> 
    ... 
</system.webServer> 

dentro del web.config, pero me sale un aviso, que dentro de la system.webServer no se permite que el elemento de "reescritura".

¿Cómo puedo configurar mi sistema para permitir (y tal vez incluso tener Intellisense) en la parte de reescritura de la web.config?

Gracias Christoph

+3

Puedo confirmar que este problema todavía ocurre en VS2010 e IIS7.5. –

+1

esto hace que falle una construcción en mi proyecto mvc. bastante mal. –

Respuesta

25

que era capaz de conseguir este trabajo en Visual Studio 2010.

de inicio con el poste de Ruslan here y descargue el archivo 2.0 IntelliSense. Luego, simplemente siga las instrucciones que publicó anteriormente here. Todo lo que terminó haciendo fue la ejecución del siguiente comando como Ruslan instruye:

C:\download_directory\rewrite2_intellisense>cscript UpdateSchemaCache.js

Como señala Christoph en su comentario, asegúrese de que sustituye VS90COMNTOOLS con VS100COMNTOOLS en UpdateSchemaCache.js antes de ejecutar el comando anterior si está utilizando Visual Studio 2010.

No necesité reiniciar Visual Studio. Agregué la sección <rewrite> solo a los archivos de transformación Web.config aplicables, ya que tenerlo en el Web.config principal rompe la depuración local.

+4

Hola Jon, gracias por el enlace. Funciona bien en vs2010, pero tenga en cuenta que si usa vs2010 necesita cambiar en el UpdateSchemaCache.js el "VS90COMNTOOLS" a "VS100COMNTOOLS" (sugerencia para otros usuarios :-)) – Christoph

+0

Hola Jonathan. Acerca de esa transformación web.config: ¿cómo se ve la tuya? La única forma en que puedo ver para hacerlo es agregar una segunda sección system.webServer que contiene y . Prefiero no agregar una segunda sección . ¿Tienes una manera más elegante? – Eric

+0

@Jon FreeLand - Recibo este error (aunque lo ejecuto con el símbolo del sistema cmd como administrador) Error al abrir el archivo Xml \ Schemas \ DotNetConfig.xsd. Asegúrese de que la secuencia de comandos se ejecuta en el símbolo del sistema elevado. – chobo2

3

Creo que es necesario tener el módulo de reescritura de URL "instalado" en el archivo web.config en su sistema.

Debe instalar el módulo en su aplicación a través de la interfaz IIS 7.0 o hacer que su empresa de hosting lo haga por usted.

+0

no, instalé el Módulo de Reescritura varias veces en varios Mashines (Vista y Win7) a través de Web Platform Installer 2.0 y el Instalador nativo de IIS.net – Christoph

3

creo que es necesario definir el módulo en su web.config como esto:

<system.webServer> 
    <modules> 
     <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" /> 
    </modules> 
</system.webServer> 

Actualización: Intellisense se puede configurar aquí:

http://ruslany.net/2009/08/visual-studio-xml-intellisense-for-url-rewrite-1-1/

Actualización: Verificar que sectionGroup se identifica en% systemroot% \ system32 \ inetsrv \ config \ applicationHost.config:

<sectionGroup name="rewrite"> 
    <section name="rules" overrideModeDefault="Allow" /> 
    <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" /> 
    <section name="rewriteMaps" overrideModeDefault="Allow" /> 
</sectionGroup> 
+0

Hola, De hecho tengo esto (para reescribir 2 ,.0):

pero el problema todavía existe ... – Christoph

Cuestiones relacionadas