Las páginas ASP.NET presentan un comportamiento inesperado porque no se procesa el código del lado del servidor

Síntomas

Síntomas que se exponen en tiempo de ejecución

Cuando ve una página .aspx en una aplicación Web de ASP.NET de Microsoft, puede experimentar los síntomas siguientes:
  • Puede aparecer una página en blanco en el explorador.
  • Recibirá instrucciones para descargar la página aspx.
El comportamiento típico es el que se procesa el código del lado del servidor para la página .aspx y, a continuación, el código no se envía al explorador Web en su forma sin procesar.

Síntomas que se presenta cuando se utiliza Visual Studio .NET para depurar ASP.NET

Cuando se depura una aplicación ASP.NET en Microsoft Visual Studio. NET, puede recibir el siguiente mensaje de error en el IDE:
Error al intentar ejecutar el proyecto: no se puede iniciar la depuración en el servidor Web. El servidor no admite la depuración de aplicaciones de servidor ATL o ASP.NET. Ejecute el programa de instalación para instalar los componentes de servidor de Visual Studio .NET. Si se ha ejecutado el programa de instalación, compruebe que se ha especificado una dirección URL válida.


También puede, consulte el tema sobre depuración ASP.NET y servidor ATL de la documentación en pantalla. ¿Desea deshabilitar futuros intentos de depurar páginas ASP.NET para este proyecto?

Causa

Después de instalar el Kit de desarrollo de Software (SDK) de Microsoft.NET Framework o Microsoft Visual Studio. NET, se crean asignaciones de Microsoft Internet Information Services (IIS) para asociar las nuevas extensiones de nombre de archivo y la nueva configuración de ASP.NET.

La nueva configuración no es lugar si cualquiera de las siguientes afirmaciones es aplicable a su situación:
  • IIS no estaba instalado cuando ejecutó el SDK de.NET Framework o el programa de instalación de Visual Studio. NET.
  • Quita y vuelve a instalar IIS después de ejecutar el programa de instalación de.NET Framework SDK o el programa de instalación de Visual Studio .NET.

Solución

Para resolver este problema, repare las asignaciones IIS para que las extensiones de nombre de archivo de ASP.NET se asocian correctamente. Hay dos formas de arreglar las asignaciones IIS para ASP.NET.

Para reparar asignaciones de IIS para ASP.NET, ejecute la utilidad Aspnet_regiis.exe. Para hacerlo, siga estos pasos:
  1. Haga clic en Inicio y, a continuación, haga clic en Ejecutar.
  2. Escriba cmdy, a continuación, haga clic en Aceptar.
  3. En el símbolo del sistema, escriba el comando siguiente y, a continuación, presione ENTRAR:
    "\WindowsFolder\Microsoft.NET\Framework\VersionNumber> \aspnet_regiis.exe" -i
    Nota: Reemplazar
    WindowsFolder con el nombre del directorio donde está instalado el sistema operativo. Reemplazar VersionNumber con la versión de.NET Framework instalada en el equipo.
Para reparar asignaciones de IIS para ASP.NET, debe registrar Aspnet_isapi.dll. Para hacerlo, siga estos pasos:
  1. Haga clic en Inicio y, a continuación, haga clic en Ejecutar.
  2. Escriba regsvr32 WindowsFolder\Microsoft.NET\Framework\VersionNumber\aspnet_isapi.dlly, a continuación, haga clic en Aceptar. Regsvr32 devuelve los resultados del registro.

Estado

Este comportamiento es por diseño.

Más información

Pasos para reproducir el comportamiento

Siga estos pasos para comprobar si es o no ver el problema descrito en este artículo. Esta prueba comprueba si los síntomas típicos que están relacionadas con el problema. Si ya está familiarizado con el funcionamiento de las asignaciones de aplicación de IIS, también puede seguir los pasos descritos en la sección "Cómo para comprobar su aplicación las asignaciones de IIS" de este artículo para comprobar la configuración del servidor Web.
  1. Para crear una aplicación Web de ASP.NET, utilice Visual Studio .NET. Para hacerlo, siga estos pasos:
    1. Inicie Microsoft Visual Studio. NET.
    2. En el menú archivo, elija nuevo y, a continuación, haga clic en proyecto.
    3. En el cuadro de diálogo Nuevo proyecto , haga clic en Proyectos de Visual C# o Proyectos de Visual Basic en Tipos de proyectoy, a continuación, en plantillas, haga clic en Aplicación Web de ASP.NET .
    4. En el cuadro ubicación , reemplace el nombre predeterminado de WebApplication# con MyWebApp. Si utiliza el servidor local, puede dejar el nombre del servidor como http://localhost. El cuadro ubicación resultante aparece como sigue:
      http://localhost/MyWebApp
  2. En el Explorador de soluciones, haga clic en el nodo del proyecto, seleccione
    Agregary, a continuación, haga clic en Agregar formulario Web. Nombre del formulario Web MappingsTest.aspxy, a continuación, haga clic en Abrir.
  3. Haga clic derecho en la página .aspx en el editor y, a continuación, haga clic en Ver código. Agregue el código siguiente al controlador de eventos Page_Load :

    .NET Visual C#
    private void Page_Load(object sender, System.EventArgs e){
    Response.Write("This code was executed");
    }

    Visual Basic .NET
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load    Response.Write("This code was executed")
    End Sub

  4. En el menú archivo , haga clic en Guardar todo para guardar el Web Form y otros archivos de proyecto asociados.
  5. En el menú Generar en Visual Studio .NET IDE, haga clic en Generar solución.
  6. Haga clic en la página .aspx y, a continuación, haga clic en Ver en el explorador.
  7. Si las asignaciones son correctas, aparece el mensaje "se ha ejecutado este código" en el explorador. Si las asignaciones no son correctas, se produce uno de los comportamientos siguientes:
    • Aparece una página en blanco en el explorador.
    • Recibirá un mensaje para descargar la página aspx.
    Este comportamiento se produce porque el código del servidor no se procesa o se ejecuta de la manera esperada. En cualquier caso, recibirá el código fuente sin procesar. Para el escenario de la página en blanco, si (ratón) en la página en el explorador y, a continuación, haga clic en Ver código fuente, observe que el código de servidor aparece en su forma sin procesar. Por ejemplo, en C# ASP.NET Web forma Visual, la directiva @ Page aparece similar al siguiente:
    <%@ Page language="c#" Codebehind="MappingsTest.aspx.cs" AutoEventWireup="false" Inherits="MyWebApp.MappingsTest" %>

Cómo comprobar las asignaciones de aplicación de IIS

Para comprobar que son correctas las asignaciones de aplicación, siga estos pasos:
  1. Haga clic en Inicio, seleccione programas, seleccione Herramientas administrativasy, a continuación, haga clic en Administrador de servicios Internet.
  2. Expanda el nodo que corresponde al host local (nombre del equipo) y, a continuación, expanda el nodo sitio Web predeterminado .
  3. (Ratón) en el directorio de la aplicación Web y, a continuación, haga clic en Propiedades.
  4. En la ficha directorio , en Configuración de la aplicación, haga clic en configuración.
  5. Haga clic en la ficha Asignaciones para la aplicación .
  6. En la ficha Asignaciones para la aplicación , en Las asignaciones de aplicación, compruebe si la extensión .aspx se asigna a la DLL siguiente:
    C:\WindowsFolder\Microsoft.Net\Framework\VersionNumber\aspnet_isapi.dll
    Nota:
    Reemplace WindowsFolder con el nombre del directorio donde está instalado el sistema operativo. Reemplazar VersionNumber con la versión de.NET Framework que está instalada en su equipo.
  7. Si no puede encontrar la entrada de asignación de aplicación, siga los pasos descritos en la sección "Resolución" de este artículo.

Referencias

La resolución para reparar asignaciones de IIS para ASP.NET se deriva de Microsoft Knowledge Base el artículo Q306005.
Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:

306005 cómo reparar la asignación de IIS después de quitar y reinstalar IIS

El siguiente artículo ofrece información más detallada sobre el escenario de depuración que se ha descrito anteriormente en este documento:

318465 no se puede depurar una aplicación Web de ASP.NET

Propiedades

Id. de artículo: 325093 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios