Objeto Server

  • Por
Una descripción del objeto y lo que se puede hacer con él. Descripción de su propiedad ScriptTimeout y todos sus métodos.
El objeto server sirve para realizar una amplia gama de cosas, ya lo habíamos utilizado en muchas ocasiones, como para conectar con una base de datos o para conectar con el sistema de archivos, pero sus usos son mucho más amplios. En este capítulo vamos a conocerlo con mayor profundidad.

Como su propio nombre indica, el objeto Server se utiliza para realizar acciones relacionadas con el servidor, como instanciar objetos, ejecutar páginas o transferir la ejecución a otras páginas. Vamos a ver las propiedades y métodos del objeto.

Propiedades

ScriptTimeout Sirve para definir el tiempo máximo de ejecución de un script ASP. Limitar el tiempo sirve para evitar que una página que tenga algún problema en su ejecución llegue a bloquear el servidor o algún recurso del sistema, de modo que cuando pasa un tiempo la página para su ejecución y libera los recursos.

Esta variable solo la tendremos que utilizar si el procesamiento de la página tarda mucho tiempo, para que el script no se quede a mitad de su procesamiento por exceder el tiempo límite. El tiempo por defecto es 90.

<%
Server.ScriptTimeout = 200
%>


Métodos

CreateObject ("Id") Sirve para instanciar objetos en el servidor, como objetos que conectan con bases de datos, con el sistema de archivos, objetos para mandar emails, etc. Este método devuelve siempre una instancia del objeto con ese identificador. Ya hemos visto ejemplos de él en otros capítulos y también los veremos en lo sucesivo.
Execute("URL") Desde ASP 3.0 (IIS 5.0) se puede ejecutar una página web desde otra página. El control y el estado de la ejecución se transfiere de la primera página a la que se indica como parámetro y cuando se acaba la ejecución de la página se devuelve a la página original.
Transfer("URL") Es lo mismo que la anterior solo que el control de la página no se devuelve a la página original. Solo para ASP 3.0.
GetLastError() Devuelve el último error que ocurrió en la ejecución de la página ASP como una instancia de un ASPError que tiene información sobre el nombre del archivo, la página donde sucedió el error, etc.
HTMLEncode("str") Recibe una cadena a la que le sustituye los caracteres especiales del HTML, por ejemplo < se convierte en &lt; o ¿ se sustituye por &#191;

<%
cadena = Server.HTMLEncode("Esto es una <b>Tontería</b>, este texto ""es falso"" ¿Vale?")
response.write cadena
%>


Esto nos devolvería
Esto es una &lt;b&gt;Tonter&#237;a&lt;/b&gt;, este texto &quot;es falso&quot; &#191;Vale?
URLEncode("str") Cuando mandamos información como parámetro por la URL debemos convertir cierto tipo de caracteres que no son válidos, como los espacios u otros símbolos, por sus correspondientes códigos, por ejemplo + se utiliza para el espacio o %23 para el carácter #.

<%
cadena = Server.URLEncode("carácter no valido!")
response.write cadena
%>


Que nos devolvería
car%E1cter+no+valido%21 y lo podríamos utilizar para construir un enlace de este modo.

<a href="http://www.desarrolloweb.com?param= <%=Server.URLEncode("carácter no valido!")%>">
carácter no valido!
</a>
MapPath("url") Devuelve la ruta completa en el disco del archivo indicado con el parámetro URL.

<%
cadena = server.MapPath("index.asp")
response.write cadena
%>


Devolvería algo parecido a esto
C:\inetpub\wwwroot\index.asp

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Erik Jose Enrique Carmona

04/7/2005
lo que pasa es qeu tengo una libreria donde quiero crear carpetas dentro del servidor pero no puedo ocupar la instruccion Server.MapPath, qeu libreria tengo que incluir o como le hago

gracias

sandra

21/6/2006
Buenas...

tengo una pregunta:
MapPath("url") "devuelve la ruta completa en el disco del archivo indicado con el parámetro URL" esa parte lo he hecho cuando estoy trabajando con un servidior local, pero si yo quiero trabajar con un servidor remoto, cómo variaria el MapPath?
Gracias