My kemenworld…

To mock or not to mock…

ASP.net en cualquier servidor Web?

Posted by kementeus en febrero 15, 2007

Un amigo hace poco me preguntó: “Puede ASP.net del Visual Studio 2005 correrse en cualquier servidor web?“. La respuesta dio suficiente para escribir que preferí publicarla en mi blog, además ya tenía tiempo de no escribir. En general diría que es un “sí y no”. Y claro, todo esto depende de varios factores, pasaré a detallar cada uno de ellos.

Si llamas servidor web al servicio o daemon que corre en un sistema operativo y se encarga de servir a través del protocolo HTTP te respondería: “depende del servidor y del sistema operativo sobre el cual corre”. Como recordaremos en IIS una petición a una página ASPX, MSPX o similar es captada por aspnet_isapi.dll y luego delegada a un proceso aparte que es en realidad el core de asp.net que dependiendo de la versión puede ser aspnet_wp.exe o w3wp.exe (IIS5 e IIS6 respectivamente). Este proceso es el que en realidad compila y ejecuta la página dinámica en realidad y luego devuelve al IIS el resultado para ser enviado al usuario. Entonces teóricamente podemos decir que asp.net puede correr en cualquier webserver que pueda delegar la ejecución a otro proceso y esperar su resultado y a la vez que corra en un sistema operativo donde funcione el worker process de asp.net o alguno similar.

Esto nos lleva a algunas respuestas, en Windows podemos usar Apache2 con el módulo aspdotnet y así no necesitaríamos el IIS. Esto ya está probado, hay guías de configuración y si este es tu caso puedes documentarte en este link.

En el caso que necesites correr ASP.net en otro sistema operativo “no Windows” tus opciones se acortan. Me imagino has escuchado de Proyectos como Mono. De hecho bajo mono puedes usar mod_mono o XSP (como servidor de prueba) pero solamente usando ASP.net 1.1, o sea, si es para aplicaciones hechas en la framework 1.1 tendrías éxito corriendo perfectamente webservices y páginas hechas en ASP.net. El problema es con ASP.net 2.0, actualmente hay soporte parcial para las extensiones de C# 2.0 en el caso de la framework en general (usando gmcs en vez de mcs en el momento de compilar) y la framework en general esta aún parcialmente soportada, en el aspecto de ASP.net aunque esta en un 80% completada el soporte creo que tendremos que esperar por lo menos un par de meses más para tener algo realmente compatible y otro par de meses más que se estabilice el desarrollo. Puedes revisar el FAQ de ASP.net para Mono en este link. También el estatus de soporte para ASP.net 2.0 en este otro link. Claro, la página de ASP.net para Mono te puede servir también.

Espero que este corto post pueda responder a tu pregunta amigo! (bueno y a alguna otra persona que se está preguntando lo mismo :D).

Una respuesta to “ASP.net en cualquier servidor Web?”

  1. estuardogt said

    Gracias por tu ayuda Cristian, Me sirvio de mucho. Segun se tambien hay un servidor de aplicaiones llamado cassini, por lo que tengo la intencion de hacer pruebas para ver como responde mi aplicacion.
    Has tenido alguna experiencia con este servidor (casisini)?
    Saludos!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: