Archive for the ‘ IIS ’ Category

No se pudo tener acceso a la metabase de IIS


Solución:
En la consola de windows ir a la siguiente localicación C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
y escribimos el comando siguiente aspnet_regiis -i ,os debería aparecer Inicie la instalación de ASP.NET (versión) … y Finalizó la instalación, si todo ha ido correctamente, solo tenéis que refrescar la web desde el navegador.

Anuncios

Server was unable to process request. —> Object reference not set to an instance of an object


Después de un buen rato logré descubrir de que se trataba este error, en un servidor de pruebas con un IIS montado y configurado correctamente, tenía habilitados unos cuantos servicios web, cuando accedía a ellos desde una aplicación web de Test en el propio servidor no me aparecía ningún error y funcionaba correctamente, sin embargo si usaba mi aplicación de Test ejecutándose desde otro ordenador (no desde el propio IIS), me aparecía el siguiente error:

Server was unable to process request. —> Object reference not set to an instance of an object

Miré en foros buscando una solución, ya que solo me pasaba con ciertos servicios web, al final descubrí que la culpa la tenían las variables de Session que usaba en casos concretos, el objeto Session era Null, con lo cual petaba si ejecutaba los servicios web desde otro ordenador ya que no estaba iniciado, sin embargo dentro del propio servidor no había problema con la aplicación de Test.

La solución  fue modificar el encabezado del webmethod:

[WebMethod(Description = “Descripción Método.”, EnableSession = true)]

Con esto habilitamos las variables de Session, ya que por defecto están deshabilitadas.

IIS 6.0 – Activar ASP.NET


Para usar nuestras páginas ASP.NET extensiones de página como .aspx o .asmx necesitamos activar el ASP.NET, para ello tenemos que tener instalado una versión reciente de Framework y registrarlo mediante una aplicación propia. Para ejecutar dicha aplicación tenemos que ir a Inicio – Ejecutar y escribir cmd, nos aparecerá la consola de windows, debemos acceder a la carpeta (mediante el comando cd) que contiene la versión de framework que queremos activar:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ (en mi caso). Una vez en este directorio solo tenemos que escribir la siguiente línea:
aspnet_regiis.exe –i –enable
y presionar ENTER, nos indicará que empieza la instalación y si no ha habido ningún error, ya estaría todo correcto.

IIS 6.0 – Configurar Página web


En esta noticia intentaré brevemente comentaros como configurar vuestra página web en IIS:

Se da por hecho que ya hemos creado dicha página web y que tenemos instalado nuestro IIS en el servidor u ordenador de pruebas.

Para comprobar que tenemos instalado IIS en nuestro ordenador nos dirigimos a Inicio – Ejecutar y escribimos inetmgr, también podemos acceder desde nuestro Escritorio con el botón derecho sobre el icono de Mi Pc – Administrar y suele estar abajo de todo (Servicios y Aplicaciones – Servicios de Internet Information Server), una vez entramos comprobamos que existe una carpeta que pone Sitios Web y que contiene “Sitio Web Predeterminado”, que será donde alojemos nuestra páginas web.

paso3_administradorequipos

En primer lugar la carpeta que contiene los archivos de página web, en mi caso la he llamado “website1” tenemos que acceder a las propiedades de dicha carpeta con el botón derecho, una vez hecho esto presionamos en la pestaña “Uso Compartido de Web”.

paso1_usocompartidoweb

Seleccionamos el contenedor de Sitio web predeterminado (como ya vimos anteriormente que existía, también podemos crear los nuestros propios).

Ahora a continuación deberemos seleccionar la opción de Compartir esta carpeta, nos aparecerá la siguiente información de la captura y solo tendremos que presionar el botón de Aceptar:

paso2_usocompartidoweb

Ahora si volvemos a la Administración de nuestro sitio web predeterminado nos debería aparecer dentro de Sitio Web Predeterminado, la aplicación web Website1.

En primer lugar accederemos a las propiedades del Sitio Web predeterminado, que cogeran por defecto todas las aplicaciones web que tengamos asociadas al sitio web predeterminado:

paso0_propiedadeswebsitepredeterminado

Nótese que podemos cambiar el puerto, si tenemos otro sitio creado diferente a Sitio Web Predeterminado, tendremos que poner otro puerto diferente al 80, ya que tienen que ser diferentes los puertos para cada sitio.

También podemos acceder a las propiedades específicas de cada aplicación web de la siguiente manera:

paso4_propiedadeswebsite

Si nuestra aplicación web ejecuta códigos ASP por ejemplo deberíamos seleccionar los siguientes campos:

paso5_propiedadeswebsite1

Seleccionaremos la página web de inicio:

paso6_propiedadeswebsite1

Es muy importante si queremos que nuestra aplicación sea accesible desde otros equipos de nuestra red local (si quisieramos que fuera accesible desde fuera sería otra historia que ya comentaré en otro momento si tengo tiempo con dyndns y configurando el router). Para ello nos centramos en los permisos, tenemos que tener un usuario windows asociado a nuestro ordenador del Tipo Invitado en mi caso iusr_PC, ahora solo tenemos que agregarlo al IIS:

paso7_propiedadeswebsite1

También podemos hacer que coga la autentificación de windows.

Debemos comprobar que tenemos el framework asociado a nuestro website como se ve en la siguiente captura:

paso8_propiedadeswebsite1

Ahora si todo ha ido bien, deberíamos poder acceder desde cualquier equipo de nuestra red local a la dirección http://nombreServidor/website1/index.html

IIS 6.0 – C# Error 401 Unauthorize


Si al ejecutar nuestra llamada a un servicio web, obtenemos un error 401 de no autorización, es debido a que ese servicio web necesita los datos de las credenciales para poder ejecutarse.
Para solucionarlo os muestro las siguientes líneas de código en C#:

servidor.Service servicioWeb = new servidor.Service();
servicioWeb.Credentials = System.Net.CredentialCache.DefaultCredentials;
this.tbResultado.Text = servicioWeb.RecibirDatos(“holaMundo”);

Donde tenemos un servidor con su correspondiente IIS con el servicio web que tiene la función de “RecibirDatos”.

IIS 6.0 – Server Error – Personalization Off/On


Cuando nos aparece el siguiente error:
“This application was precompiled with personalization turned off, but it appears to have been turned on after the precompilation, which is not supported.”

Suele aparecer cuando tenemos agregados en el IIS diferentes aplicaciones web, cada uno con su web.config, en mi caso una de ellas contiene asociada el sistema de autentificación Website Administration Tool, parece que se hace un lío con los diferentes archivos webconfig.

Para solucionarlo solo tendríamos que poner la línea dentro del webconfig correspondiente:

“<system.web>
<profile enabled=”false” />”

(…)

“</system.web>”

Con esto debería resolverse.