IIS siempre devuelve una página vacía

Estoy implementando un sitio creado como un conjunto de proyectos en una solución que se implementa como una serie de sitios web (un proyecto = una URL).

El idioma de codificación es c# y el sitio utiliza una base de datos mssql a la que se accede a través de linq.

Todo funciona bien en el servidor de desarrollo, pero por el momento, todas las páginas con elementos creados dinámicamente (es decir, todas <asp> y etiquetas personalizadas) generan una página en blanco con el siguiente código fuente. Las páginas estáticas (html estándar y aspx) se muestran correctamente.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>

Normalmente trabajo con php en LAMP y este comportamiento es diferente a todo lo que he visto en esa configuración. Necesito algunas ideas nuevas sobre las causas/resolución de este error (preferiblemente paso a paso/enlaces de tutoriales, como digo, IIS/c#.net no es mi entorno normal).

Cosas que he probado sin efecto alguno:

  • alterar los permisos en las carpetas del sitio
  • alterar la configuración de web.config
  • Reimplementación de archivos del sitio mediante copiar/pegar y la opción de publicación vb con varias configuraciones
  • Además de una tonelada completa (más de dos días hasta ahora) de búsqueda en Internet

Gracias por todas las respuestas.

editar: números de versión:

iis: v6.1 (bulid: 7601) SO: Windows web server 2008 R2 / Service pack 1 .net: v4

segunda edición:

Página de Ejemplo:

archivo aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dbtest.aspx.cs" Inherits="Rica.Yoodul.dbtest" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <h1>test</h1>

        <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </div>
    </form>
</body>
</html>

aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;

namespace Rica.Yoodul
{
    public partial class dbtest : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection myConnection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RicaConnectionString"].ConnectionString);
            myConnection.Open();

            SqlDataReader myReader = null;
            SqlCommand myCommand = new SqlCommand("SELECT * FROM dbo.MaritialStatus", myConnection);

            myReader = myCommand.ExecuteReader();

            while (myReader.Read())
            {
                Literal1.Text = Literal1.Text + myReader["Name"].ToString();
            }
            myConnection.Close();
        }
    }
}

editar:

Algo que no agregué: según algunos de los otros comportamientos que muestra el servidor, creo que el culpable más probable es una configuración incorrecta del servidor.

editar:

OK, he reducido un poco la causa. Al eliminar todo excepto el atributo de idioma en la primera línea del archivo frontal, puedo hacer que el servidor muestre el contenido estático. #

editar:

OK http://www.iis.net/ConfigReference cubre el uso de los archivos de configuración de iis. Solo fui a la ruta indicada en la página y parece que no tengo ningún archivo de configuración. ¿Cómo confirmo/soluciono esto?

preguntado el 31 de julio de 12 a las 10:07

indíquenos la versión del sistema operativo, la versión de IIS, la versión de .NET -

Usted dice que las páginas ASPX se muestran correctamente, pero las páginas con "elementos creados dinámicamente" no. ¿Puede explicar qué quiere decir con esto último? -

¿Ha configurado la página predeterminada para su sitio?

Las páginas ASPX de @DanPuzey que carecen de controles .net se muestran correctamente. Cualquier otra pantalla en blanco (incluso un solo literal). He probado esto con un volcado extremadamente simple de un resultado de consulta en una página literal y es cierto. -

¿Ha registrado ASP con IIS? Abra un símbolo del sistema y ejecute c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i (su ruta puede variar ligeramente). -

1 Respuestas

Parece que su servidor de producción no tiene ASP.NET correctamente instalado/registrado, por lo que sus páginas se tratan como simples documentos de texto en lugar de código. Esto puede suceder a veces si instala .NET antes de instalar IIS, por ejemplo.

Para confirmar esto, cree una página básica que incluya una combinación de HTML y ASP.NET...

<%@ Page Language="C#" %>
<html>
    <head>
        <title>ASP.NET Hello World</title>
    </head>
    <body>
        <p>Hello from HTML</p>
        <p><%= "Hello from ASP.NET" %></p>
    </body>
</html>

Si carga eso y solo obtiene el saludo HTML simple, use la opción "Ver fuente" de su navegador y vea lo que realmente está obteniendo. Si su código fuente ASP.NET se muestra en la fuente que recibe el navegador, eso confirma que IIS no lo trató como un archivo ASP.NET, lo que significa que ASP.NET no está instalado correctamente o está deshabilitado.

Respondido 31 Jul 12, 12:07

OK, obtuve que ambas cadenas se muestren correctamente. Que es lo primero que se procesa correctamente desde que empecé. - pinza trazadora

Vuelva a verificar que no tenga ninguna de las cadenas <%= y %> en la ventana "Ver código fuente" del navegador, y que ninguna cadena esté entre comillas. Chris

la fuente es hola desde html Hola desde ASP.NET - pinza trazadora

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.