tutorial pages net asp application asp.net web-config asp.net-core

asp.net - pages - javascript asp net



Portar un Web.Config a ASPNET5 (1)

Actualizo mi proyecto a ASPNET5. Me estoy metiendo en un problema con la actualización de mi archivo web.config.

Intenté usar Microsoft.Framework.ConfigurationModel.Xml paquete Microsoft.Framework.ConfigurationModel.Xml para leer una configuración de reescritura de URL. La configuración se ve así:

<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="MainRule" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <add input="{REQUEST_URI}" matchType="Pattern" pattern="api/(.*)" negate="true" /> <add input="{REQUEST_URI}" matchType="Pattern" pattern="signalr/(.*)" negate="true" /> </conditions> <action type="Rewrite" url="default.html" /> </rule> </rules> </rewrite> </system.webServer> </configuration>

pero, por supuesto, estoy recibiendo problemas clave duplicados cuando intenta convertirlo al objeto que usa aspnet5.

¿Cuál es la mejor manera de transferir su web.config existente al nuevo modelo aspnet? Este es un caso pequeño, pero en el mundo real estas configuraciones son realmente intensas.

He creado un proyecto de ejemplo que espero compartir con otros cuando descubro algunos de estos casos.


el archivo web.config que ha publicado solo tiene reglas de reescritura de URL para iis. ¿Realmente necesita acceder a los de su aplicación? IIS las leerá directamente desde web.config, pero no debería necesitar esas cosas en su aplicación, por lo que no es necesario que intente analizar el archivo con las nuevas clases en Microsoft.Framework.Configuration.

si su aplicación necesita alguna otra configuración, entonces también podría usar un archivo json.config como se muestra en muchos ejemplos para la configuración de su propia aplicación.

aún puede colocar ese archivo web.config en la raíz de la aplicación y, suponiendo que su aplicación esté alojada en IIS, aún debe hacer su trabajo y decirle a IIS que reescriba algunas URL. no debe cambiar el nombre a config.xml, ya que parece que lo ha hecho, ya que IIS no notará el archivo a menos que se llame web.config

¿Por qué necesitarías acceder a esas reglas de reescritura de URL desde el código de la aplicación, ya que es IIS y no el código de la aplicación el que realiza la reescritura de la URL?

Creo que el nuevo paradigma es utilizar json.config y / o variables de entorno en azul para la configuración de la aplicación

Lo único que aún puede usar un archivo web.config para la configuración de IIS es que está separado de la configuración de la aplicación y eso es lo único que usaría para los archivos web.config para seguir adelante y no debería tener que acceder al archivo web.config del código de la aplicación en absoluto.