Manual Asp
Manual Asp
Manual Asp
ASP.Net
NDICE GENERAL
UNIDAD DIDCTICA 1: CARACTERSTICAS GENERALES ASP.Net
1.
2.
3.
19
23
23
23
29
2.
35
3.
Enrutamiento
39
48
ENUNCIADOS
48
SOLUCIONES
49
50
50
1.
Ciclo de vida
50
1.1. Ciclo de vida de una aplicacin ASP.Net para IIS 5.0 e IIS 6.0
50
56
2.
60
3.
Controles
70
70
75
80
82
83
84
4.
86
86
2. Mtodos asincrnicos
94
98
101
105
5.1. Implementacin
105
5.2. Publicacin
108
111
6.1. WSDL.exe
111
6.2. Disco.exe
117
119
124
ENUNCIADOS
124
SOLUCIONES
125
126
126
1.
126
2.
134
135
136
2.3. Linq
138
140
143
143
1.1. Suplantacin
149
150
2.
152
3.
Depuracin en ASP.Net
154
158
ENUNCIADOS
158
SOLUCIONES
159
PRCTICAS
160
ENUNCIADOS
160
SOLUCIONES
164
GLOSARIO
165
ASP.Net
agregar (en federaciones) estos servicios para que p uedan ser acce didos mediante
Internet. Esto es posib le debido a que tenemos la infraestructura de comunicacin
global que es Internet cada vez ms rpida y a un costo cada vez menor y adems,
a la capacid ad de los procesadores que co ntina incrementndose ao tras ao . El
usuario de Internet puede con un explorad or de Interne t no solamente acced er a
contenido como texto, imgenes
Web. Estos son los bloques de construccin o componentes sobre los cuales se basa
el modelo de computacin distribuida en
permite usar Internet y su capacidad de di stribucin para que los usuarios accedan
desde cualquier disp
operativo
y lugar a la
objetivo
de
la
plataforma
.NET
es
simplificar
el
desarrollo
de
aplicaciones. Provee las herramientas y tecnolog as para transfor mar a Inter net
en una plataforma de computaci
adems soporta los estndares sobre los cuales se basan los servicios Web
lo que se
llama
cdigo
ASP.Net
que un
de la ejecucin de l
La librera de clases base son las clases sob re las cuales se construyen todas las
dems clases que utilizan los pro gramas de Visual Studio .N ET. La clase madre de
todas es System. A partir de ella por un mec anismo llamado herencia de clases,
se construyen las dems clases.
Debido a q ue en la
ASP.Net
el usuari o puede crear nuevas clases que u san l as cl ases base como "l adrillos".
Tambin el u suario puede incorporarlas en bibliotecas para su utilizacin posterior.
Es segura ya que es posible permitir o
mecanismos de seguridad.
La plataforma .NET organiza t oda la f uncionalidad de l sist ema o perativo en u n
espacio de nombres jerrquico de forma que a la hora de programar resulta
bastante sencillo encontrar lo que se necesita.
Para ello, el Framework posee un sistema de tipos comn, denominado
Common Type System (CTS). Este sistema permite qu e el programador pueda
interactuar los tipos que se incluyen en el propio Framework (biblioteca de clases
de .Net) con los creados por l mismo ( clases). De esta forma se aprovechan l as
ventajas pr opias de la programacin or ientada a objetos, como la herencia de
clases pred efinidas para crear nuevas cl
ases, o el polimorfismo d
e clases pa ra
necesarios para crear aplicaciones Web empresariales con el c digo mnimo. Forma
parte de .NET Framework y al c odificar las aplicaciones ASP.NET se tiene acceso
a las clases en .NET Framework. El cdigo de las aplicaci ones puede escribirse en
cualquier le nguaje compat ible con el Common Language Runtime (CLR), en tre
ellos Microsoft Visual Basic, C#, JScript .NET y J#. E stos lenguajes permiten
desarrollar aplicaciones ASP.NET que se benefician de todos los componentes de la
plataforma .NET.
En este curso utilizaremos el lenguaje Visual Basic 2008.
ASP.NET incluye las siguientes caractersticas:
ASP.Net
ivos
se pueden
ue de fine el di seo y el
ASP.Net
Compilador de ASP.NET
Compila todo el cdigo de ASP.NET, lo que permite el establecimiento inflexible
de tipos, las optimiz
enlace en tiempo d
cdigo de ASP.N ET e n
ensamblado que el
Infraestructura de seguridad
Adems de las caractersticas de s eguridad de .NET , ASP.NET proporciona una
infraestructura de seguridad avanzada para autenticar y autorizar el acceso d e
los usuarios y realiza
r otras tareas
atos de f
funciones de
as
ASP.Net
administrar
icacin en un
equipo o en varios.
Configuracin de la aplicacin
Las aplicaciones ASP.NET utilizan un sistema de con figuracin que le perm ite
definir valores de confi guracin para su servidor Web, para un sitio Web o para
aplicaciones in dividuales. P uede crear v alores de co nfiguracin cu ando se
implementan est as aplicac iones y pu ede agregar o r
ASP.NET se
ASP.Net
Capacidad de depuracin
Se aprovecha la infraestructura
no administrados, as como
todos los
los
lenguajes de script.
Adems, el marco de
mite a las
ASP.Net
y/o soluciones.
Visual Studio 2008 se presenta en varias versiones:
Express
Standard
Professional
Team System
La primera vez que se ejecuta Visual Studio 2008 aparece una ventana splash un
momento antes de que se seleccione las op ciones de conf iguracin del entorno por
defecto. Como se puede trabajar con va rios lenguajes y tecnologas en un mi smo
IDE, ste debe contar
ASP.Net
Figura 3.1
De forma genrica los mens y barra de herramientas estn posicionados arriba del
todo y las de seleccin de
ha e
izquierda del rea de la ventana principal. El centro se reserva para el espacio del
editor principal, sin embargo al abrir un fichero de cdigo, un documento XML, un
formulario o cualquier otro fichero, aparecern dentro de este espacio central.
La barra de mens nos permitir acceder a
controlan el entorno de desarrollo. Los mens y los comandos trabaj an segn una
serie de r eglas estndar utilizadas en todos los programas basados en Windows; y
podremos acceder a ellos utilizando el teclado o el ratn.
Justo debajo de
la barra
de mens se encuentra la
barra de herramientas
para ejecutar
encuentra la barra
de t areas de
y para
En Visual Studio 2008 los prog
ramas qu e se encuentran en
ASP.Net
desarrollo se
Figura 3.2
10
Figura 3.3
Figura 3.4
11
ASP.Net
ASP.Net
La diferencia
Figura 3.5
siguiente.
En cualquier caso se p odr ir aadiendo tantos
para n uestra aplicac in qu e se irn
a adiendo a la ven
Soluciones
Figura 3.6
12
Explorador de
ASP.Net
so lucin, como
abierto Web Application o Web Site se podr acceder a las princ ipales acciones
a realizar sobre la solucin.
Figura 3.7
Debajo de la venta na del Explorador de soluciones se encuentra la Ventana
de propiedades en ella se podrn consultar o modificar las caractersticas o las
definiciones de propied ades de los elementos que componen la interfaz de usua rio
de un formulario.
Una definicin de propiedad es una cualidad de uno de los objetos contenidos en su
interfaz de usuario. Por ejemplo, se podr modificar la fuente, color , tamao y en
general las caractersticas por alguna ma
podrn modificar el c
omportamiento o
un elemento. Se puede
13
ASP.Net
definiciones de
propiedades q ue se podrn mo dificar para cada uno de los objetos (podr hacer
clic en uno de
Figura 3.8
El cuadro de herramientas normalmente est visible s iempre que otra ventana
conocida como Diseador de Pginas, que es bsicamente un lienzo en blanco
14
ASP.Net
nombre de
la pgina y
la
extensin aspx. Por defecto al abri r una sol ucin ti po Aplicacin Web se crear
una pgina llamada
Figura 3.9
Este mensaje ( figura 3.10) aparece porque para ejecutar las pg inas se necesita
un Servidor Web, co mo IIS (Internet Information Server) que deberamos
tener instalado, si nuestro sistema op erativo es 2000, 2003, 2008, XP (No en la
versin Home) o Vista este servidor estar incluido.
Si todava no hemos conectado el sitio web que estamos desarrollando con el IIS...
cmo podemos ejecutar las pginas? Recuer da que no se pueden hacer doble clic
en ellas en el explorador de archivos sino que deben ejecutarse en un servidor web.
La solucin es que el entorno de desarrollo incorpora un pequeo servidor web para
la depuracin y la ejecucin de las pginas.
No se puede utilizar como servidor web, es slo para la prueba de las
pginas, as no tenemos que moverlas a un servidor IIS para probarlas.
15
ASP.Net
los servidores web se ejecutan en el puerto 80 pero como este es uno de pruebas lo
ejecuta en ese puerto, no importa ya que
ginas, no es
necesario configurar nada de este servi dor web porque lo gestiona todo el entorno
de desarrollo.
Figura 3.10
Al depurar la ap licacin podemos encont rarnos con otro problem a ya que por
defecto la depuracin
es
Figura 3.11
Para solu cionarlo n os iremos a
n de "D
s ( Internet
16
ASP.Net
Figura 3.12
Hay numer osas venta nas adi cionales en el
una tarea
de
17
ASP.Net
Figura 3.13
tenemos conexin.
Figura 3.14
18
ASP.Net
Figura 3.15
oper es un
aplicaciones Web ASP .NET (den ominadas si mplemente " sitios We b"). Visu al Web
Developer tiene las caractersticas siguientes:
mscaras.
Edicin de cdigo
las pginas Web dinmicas en Visual Bas ic o C#. El editor de cdigo incluye
coloracin para la sintaxis e IntelliSense.
Depuracin
programas.
Controles
Acceso a datos
Web. Los datos puede n estar en una variedad de almacenes de datos, entre
los que se incluyen ba ses de datos o ar chivos XML. En muchos casos, puede
19
ASP.Net
agregar la posibilidad de ver los datos y de editarlos en sus pginas Web sin
necesidad de escribir ningn cdigo.
Seguridad y personalizacin
Visual Web Developer proporciona un entorno muy bueno para generar sitios Web y
publicarlos en un sitio de hospedaje ya que con
20
ASP.Net
Figura 3.16
Nos registramos para obtener la clav e y nos encontr aremos des pus con el
entorno de desarrollo:
Figura 3.17
21
ASP.Net
Figura 3.18
Como se puede comprobar este entorno es
Visual Studio. Si quis iramos crear un
esa
22
ASP.Net
ctersticas de
la
como es la
arquitectura de ASP.NET.
En el ciclo de depuracin de una pgina ASP hay varios mdulos HTTP que la
procesan (por ejemp lo, el mdulo de au
despus es procesado por un
tenticacin y el mdulo
de sesin) y
ltimo cuando el
MODULOS HTTP
licitud individual,
Seguridad
realizar una au
23
Estadstica y registro
ASP.Net
Ya que es p
Eventos disponibles
Una clase HttpApplication proporciona una serie de eventos con los que los
mdulos se pueden sincronizar.
Los evento s de la lis
sincronicen en ca
ta de abajo est
da solicitud.
(Estos
eventos
se
muestran
en
orden
secuencial)
algo al
mecanismos de autorizacin (por ejemp lo, para alm acenar las listas de
control de acceso (ACL) en una base de datos en lugar de en el sistema de
archivos). Aunque se puede invalidar este evento, no es muy conveniente.
24
ASP.Net
antes de que se
un mdulo de estado de
estado de nuevo en el
almacn de estado.
esultado en la cach d
Error: este evento ocurre cuando se pr oduce una excepci n no contr olada.
Si querem os escrib ir un
mdulo
de
controladores
de
error
25
ASP.Net
M+ Class], [A
Escribiremos cdigo para los eventos a los que nos hayamos suscrito.
26
Imports Microsoft.VisualBasic
Imports System.Web
Public Class ModuloHolaMundo
Implements IHttpModule
Public Sub New()
End Sub
Public ReadOnly Property ModuleName() As String
Get
Return " ModuloHolaMundo "
End Get
End Property
' En la funcion Init, registramos los eventos para HttpApplication
' aadidos por nuestros manejadores.
Public Sub Init(ByVal application As HttpApplication) _
Implements IHttpModule.Init
AddHandler application.BeginRequest, _
AddressOf Me.Application_BeginRequest
AddHandler application.EndRequest, _
AddressOf Me.Application_EndRequest
End Sub
Private Sub Application_BeginRequest(ByVal source As Object, _
ByVal e As EventArgs)
' Creamos los objetos HttpApplication y HttpContext para acceder
' a las propiedades request y response.
Dim application As HttpApplication = DirectCast(source, _
HttpApplication)
Dim context As HttpContext = application.Context
Dim filePath As String = context.Request.FilePath
Dim fileExtension As String = _
VirtualPathUtility.GetExtension(filePath)
If fileExtension.Equals(".aspx") Then
context.Response.Write("<h1><font color=red>" & _
" ModuloHolaMundo: Beginning of Request" & _
"</font></h1><hr>")
End If
End Sub
27
ASP.Net
ASP.Net
ByVal e As EventArgs)
Dim application As HttpApplication = DirectCast(source, _
HttpApplication)
Dim context As HttpContext = application.Context
Dim filePath As String = context.Request.FilePath
Dim fileExtension As String = _
VirtualPathUtility.GetExtension(filePath)
If fileExtension.Equals(".aspx") Then
context.Response.Write("<hr><h1><font color=red>" & _
" ModuloHolaMundo: End of Request</font></h1>")
End If
End Sub
Public Sub Dispose() Implements System.Web.IHttpModule.Dispose
End Sub
End Class
Generar
</httpModules>
</system.web>
</configuration>
28
1.2
ASP.Net
CONTROLADORES HTTP
iduales o
ASP.NET
CONTROLADOR
DESCRIPCIN
Controlador
pginas
de Controlador HTTP pr
(*.aspx)
Controlador
servicios
(*.asmx)
Controlador
ASP.NET.
web El controlador HTTP
genrico (* .ashx)
Controlador
seguimiento
(trace.axd)
29
ASP.Net
ar en los
IHttpHandler o
las
directiva de la etiqueta
<httpHandlers> <add verb = "[verb list]" path= "[path/wildcard]" t ype= "[COM+ Cla ss], [Assembly]"
validate= "[true/false]" />
ar / >
</httpHandlers>
que
interfaz
IHttpAsyncHandler
para crear un
controlador
implemente la
IHttpHandlerFactory (el
nueva
30
ASP.Net
Los controladores HTTP tienen acceso al con texto de la aplicac in. E sto in cluye la
identidad d el usuario que realiza la solicitu d (si se conoce),
el estado de la
Controlador sncrono
Imports System.Web
Public Class ControladorHolaMundo
Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As _
System.Web.HttpContext) Implements _
System.Web.IHttpHandler.ProcessRequest
Dim request As HttpRequest = context.Request
Dim response As HttpResponse = context.Response
' Este controlador es llamado cada vez que un fichero que termina
' en .sample is solicitado.
response.Write("<html>")
response.Write("<body>")
response.Write("<h1>Hola desde un controladorHTTP sncrono
personalizado.</h1>")
response.Write("</body>")
response.Write("</html>")
End Sub
Public ReadOnly Property IsReusable() As Boolean _
Implements System.Web.IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
31
proceso externo.
ASP.Net
el agrupamiento en bloques
es posib le ejecutar
de los
ios usuarios
llamad a C ontroladorAsincHolaMundo
en el directorio App_Code
Imports Microsoft.VisualBasic
Imports System.Web
Imports System.Threading
Public Class ControladorAsincHolaMundo
Implements IHttpAsyncHandler
Public ReadOnly Property IsReusable() As Boolean Implements
System.Web.IHttpHandler.IsReusable
Get
Return False
End Get
End Property
Public Function BeginProcessRequest( _
ByVal context As System.Web.HttpContext, _
ByVal cb As System.AsyncCallback, _
ByVal extraData As Object) _
As System.IAsyncResult _
Implements System.Web.IHttpAsyncHandler.BeginProcessRequest
context.Response.Write("<p>Begin IsThreadPoolThread is " _
& Thread.CurrentThread.IsThreadPoolThread & "</p>" & vbCrLf)
Dim asynch As New AsynchOperation(cb, context, extraData)
asynch.StartAsyncWork()
Return asynch
End Function
Public Sub EndProcessRequest(ByVal result As _
System.IAsyncResult) _
Implements System.Web.IHttpAsyncHandler.EndProcessRequest
End Sub
Public Sub ProcessRequest(ByVal context _
As System.Web.HttpContext) _
32
Implements System.Web.IHttpHandler.ProcessRequest
Throw New InvalidOperationException()
End Sub
End Class
Class AsynchOperation
Implements IAsyncResult
Private _completed As Boolean
Private _state As [Object]
Private _callback As AsyncCallback
Private _context As HttpContext
ReadOnly Property IsCompleted() As Boolean _
Implements IAsyncResult.IsCompleted
Get
Return _completed
End Get
End Property
ReadOnly Property AsyncWaitHandle() As WaitHandle _
Implements IAsyncResult.AsyncWaitHandle
Get
Return Nothing
End Get
End Property
ReadOnly Property AsyncState() As [Object] _
Implements IAsyncResult.AsyncState
Get
Return _state
End Get
End Property
ReadOnly Property CompletedSynchronously() As Boolean _
Implements IAsyncResult.CompletedSynchronously
Get
Return False
End Get
End Property
Public Sub New(ByVal callback As AsyncCallback, _
ByVal context As HttpContext, _
ByVal state As [Object])
_callback = callback
_context = context
_state = state
33
ASP.Net
ASP.Net
_completed = False
End Sub
Public Sub StartAsyncWork()
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf StartAsyncTask), Nothing)
End Sub
Private Sub StartAsyncTask(ByVal workItemState As [Object])
_context.Response.Write("<p>Completion IsThreadPoolThread is " &
Thread.CurrentThread.IsThreadPoolThread & "</p>" & vbCrLf)
_context.Response.Write("Hola mundo desde el controlador HTTP asncrono!")
_completed = True
_callback(Me)
End Sub 'StartAsyncTask
End Class 'AsynchOperation
NOTA
Si en el co ntrolador HTTP requiere el
type="HelloWorldHandler"/>
name="HelloWorldHandler"
</handlers>
</system.webServer>
</configuration>
34
2.
ASP.Net
Cliente
o
Estado de vista
Estado de control
Campos ocultos
Cookies
Cadenas de consulta
Servidor
o
Estado de aplicacin
Estado de sesin
Propiedades de perfiles
diccionario para conservar valores entre las distintas solicitudes de una misma
pgina. ste es el mtodo predeterminado q ue la pg ina utiliza para conservar
los valores de las pr
opiedades de la
ntroles entre
35
lor especifica do en la
propiedad
ASP.Net
control: La
propiedad
ControlState
permite m antener la
propiedad ViewState se pu
tado de vista
o, pero los
en el nivel de pgina,
control
HiddenField, que se representa como campo oculto est ndar HTML. Un campo
oculto no est visib
le en e
propiedades igual que las de un control estndar. Cuando se enva una pgina al
servidor, el contenido del campo oculto se enva en la coleccin Form de HTTP
junto con los valores de otros controles. Un campo oculto acta como repositorio
de cualquier informacin especfica de pgina que desee almacenar directamente
en la pgina.
Un control HiddenField almacena una nica variable en su propiedad Value y
se debe agregar en la pgina de
onibles. Es fci
l que un us
uario
se base la
36
ASP.Net
las cookies y
leer su contenido. Se
cadena de
signo d e
37
nformacin
ASP.Net
smo de
almacenamiento global al que se p uede obtener acceso desde todas las pginas
de la ap licacin Web. Resu lta til para alma cenar la informacin q ue se debe
mantener en los recorridos de ida y vuelta del servidor y entre las solicitudes de
las pginas. Se almacena en
cada vez q ue se enva una solicit ud a una d ireccin URL especfica. Se puede
agregar in formacin especfica
de la ap
administrarla.
Estado de sesin: ASP.NET permit e gu ardar v alores utilizando e l est ado de
sesin, que es una instancia de la clase HttpSessionState, de cada sesin d e
una aplicacin Web activa. Estado de sesin es sim ilar a estado de aplicac in,
con la diferencia de que el mbit
varios usua rios uti lizando l a apli cacin, cada uno de ellos tendr un estado de
sesin distinto y si un us
caracterstica
informacin del u suario est dispon ible med iante un a AP I con est ablecimiento
38
ASP.Net
punto de la
perfil y est o
mantener casi cualquier tipo de d atos mientras stos sig an estando disponibles
en un modo de seguridad de tipos.
Para u tilizarlas debem os con figurar u n proveedor de p erfiles. ASP .NET in cluye
una clase SqlProfileProvider que permite almacenar los datos del perfil en una
clase propia de
un formato
3. ENRUTAMIENTO
El enrutamiento de ASP.NET
in tener que
y p or tanto,
identificar mejor.
En una apli cacin ASP .NET qu e no u tiliza en rutamiento, una solicit ud en trante de
una direccin URL nor malmente se asi gna a un archivo fsico en el disco como un
archivo .aspx.
En el enrutamiento ASP.NET, se definen modelos de direccin URL que contienen
marcadores de posicin para los valores utilizados al admi nistrar solicitudes URL.
En tiempo de ejecuci n, las parte s de la dire ccin URL que siguen al nombre de
aplicacin se analizan como valores discretos, tomando como base un modelo de
direccin URL que
lo, en la solic
http://server/application/Productos/disponibles/pasta, el
itud de
analizador
del
Productos/disponibles/pasta se interpretara
delos de
39
iante
ASP.Net
la
clase
de
ruta
Un
controlador
de
ruta
se hereda de la interfaz
System.Web.Routing.IRouteHandler.
El mdulo intercepta las solic itudes en trantes, ex amina la dir eccin URL y
detecta si hay ruta
s coincidentes de
el
Figura 3.1
40
ASP.Net
de
iones
la solicitud a la
pgina web , normalmente no se tiene una API para crear direcciones URL basadas
en sus modelos. En la reescritura de di
direccin URL , deber act
ipervnculos qu e
la
rutas, en ellas
41
ASP.Net
Definicin de la ruta
{controlador}/{accin}/{id}
/Productos/mostrar/comidas
{tabla}/Detalles.aspx
/Productos/Detalles.aspx
blog/{accin}/{entrada}
/blog/mostrar/123
{tipo_informe}/{ao}/{mes}/{da}
/sales/2008/1/5
{configuracin regional}/{accin}
/en-US/ mostrar
{idioma}-{pas}/{accin}
/en-US/ mostrar
Route que
categoryName.
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
RegisterRoutes(RouteTable.Routes)
End Sub
42
ASP.Net
predeterminados de una
ruta l os establecernos
tart(ByVal se
nder As
Object
, ByV
al e As Even
tArgs)
RegisterRoutes(RouteTable.Routes)
End Sub
Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
Dim urlPattern As String
Dim rutaCategoria As Route
urlPattern = "Categoria/{action}/{categoryName}"
rutaCategoria = New Route(urlPattern, New CategoriaRouteHandler)
rutaCategoria.Defaults = New RouteValueDictionary(New With _
{.categoryName = "comida", .action = "mostrar"} )
routes.Add(categoryRoute)
End Sub
ara
VALORES DE PARMETROS
/ Categoria
action
minado)
action = "agregar"
categoryName = "comida" (valor predeterminado)
/
Categoria/add/beverages
action = "agregar"
categoryName= "bebidas"
43
ASP.Net
siguiente.
DIRECCIN URL
VALORES DE PARMETROS
/query/select/bikes/onsale
queryname = "select"
queryvalues = "bikes/onsale"
/query/select/bikes
queryname = "select"
queryvalues = "bikes"
/query/select
queryname = "select"
queryvalues = Cadena vaca
los
parmetros cumplan c iertas restricciones. Si una di reccin URL co ntiene val ores
que estn fuera de la
liza para
44
ASP.Net
Las restricciones se defi nen uti lizando expres iones regu lares u objet os qu e
implementan la interfaz IRouteConstraint. Al agregar la definicin de la ruta a la
coleccin
objeto
a la
del d iccionario
a expresin regular o u
n objeto que
RESULTADO
/en-US
/en-US/08
/en-US/2008
local = "en-US"
ao = "2008"
45
ao requiere 4
ASP.Net
ireccin
URL de la s olicitud con una ruta. L a comparacin de una s olicitud URL con una r uta
depende de todas las siguientes condiciones:
los modelos
de ruta
Para evitar que el controlador equivocado administre una solici tud, se debe tener
en cuenta todas estas condiciones al defi
aparecen lo s
el
ASP.NET.
Crear direcciones URL a partir de rutas
Podemos utilizar rutas para generar dire
lgica para crear direcciones URL. Una di reccin URL se crea pasando valores d e
parmetro como un diccionario al mtodo GetVirtualPath que b usca la primera
ruta del objeto RouteCollection que coincide con los parmetros del dicc ionario.
La ruta coincidente se utiliza para generar la direccin URL.
46
ASP.Net
47
ASP.Net
48
ASP.Net
49
ASP.Net
producirse varios
una
es slo una
extensin
ISAPI (archivo DLL que puede cargarse y se r llamado por un servidor HTTP) bajo
el servidor Web. Cuando un servidor web recibe una solicitud, examina la extensin
de nombre de archivo del archiv
debera procesar dicha soli citud y, a conti nuacin, pasa sta a l a extensin ISAPI
apropiada. ASP.NET pr ocesa las extensio nes de nombr e de archivo que
tiene
in. Los
dominios de
aplicacin proporcionan aislam iento entre aplic aciones p ara las variables globales
y permiten descargar cada aplicacin de
50
ASP.Net
Figura 1.1
3 Fase: Se crean los objetos de ncleo ASP.NET para cada solicitud
Una vez creados el
El objeto HttpRequest contiene datos sobre la so licitud actual, entre los que
se incluyen las cookies e informacin del explorador.
clase Global.asax
51
ASP.Net
Por ejemplo, si la aplicacin est configurada para ello, ASP.NET crea u n mdulo
SessionStateModule. Una vez cr eados todos los mdulos configur ados, se llama
al mtodo Init de la clase HttpApplication.
Figura 1.2
la
clase
HttpApplication.
El proceso de esa solicitud se realiza de la siguiente manera:
1. Valida la so licitud, qu e ex amina la in formacin en viada por el ex plorador y
determina si contiene formato potencialmente malintencionado.
52
ASP.Net
se ha confi
gurado alguna
eventos BeginRequ
PostAuthenticateRequest, Au
est, Aut
henticateRequest,
thorizeRequest, Post
AuthorizeRequest,
ResolveRequestCache, PostResolveRequestCache
4. Basndose en la extensin de nombre
olicitado
s PostMapRequest
Handler, AcquireRequestState,
PostAcquireRequestState, PreRequestHandlerExecute
6. Llama a
l mt
odo P
rocessRequest (
oa
IHttpAsyncHandler..::.BeginProcessRequest
la
versin a
) de la clase IHt
sincrnica
tpHandler
erExecute, Re leaseRequestState,
PostReleaseRequestState
8. Realiza el filtrado de respuestas si se define la propiedad Filter.
9. Produce los evento
hivo denominad o
HttpApplication no
puede p
simultneamente. E sto simp lifica el con trol de los eventos de la aplicacin, dado
que no es necesario b loquear los miembros no estticos de la clas e de aplicacin al
tener acceso a ellos. Esto
especfico de la solicitud.
53
ASP.Net
Global.asax me
diante la conve
ncin de
nomenclatura
HttpApplication.
En esta tab la se muestran l os eventos principales qu e se u tilizan, h ay mu chos
ms pero realmente c asi no se utilizan , as que nos q uedamos con estos que son
los verdaderamente importantes.
EVENTO O
MTODO
DESCRIPCIN
Application_Start
Application_event
Se produce en el
Init
Dispose
recurso no administrado.
Application_End
54
de la
ASP.Net
DESCRIPCIN
App_GlobalResources
Propiedades
de
perfil
definidas
el
archivo
en
arc hivo
Web.config
App_Code
os ensambl ados de
existen.
Global.asax
55
ASP.Net
DESCRIPCIN
App_LocalResources
cluye u
na carpeta
App_LocalResources, se compila el
contenido de la carpeta de recursos
locales y s e vincula al
ensamblado de
recursos globales.
Pginas
(archivos
usuario
Web
.aspx),
individuales
controles
(archivos
controladores
HTTP
Se compilan segn
sea necesario y se
de
.ascx),
(archivos
superior.
inicializacin, la creacin
de instancias d
56
se in cluyen la
e controle s, la restauracin y el
ASP.Net
de la pgina. Cuando
la propiedad
UICulture de la pgina.
3 Fase: Inicializacin de pgina Dura nte la inicializacin de la pgina, l os
controles incluidos en ella estn disponibles y se establece la propiedad UniqueID
de cada uno de ellos. Adems, se aplica n los temas correspondi entes a l a pgina.
Si la solicitud actual es una devoluc in de datos, los datos de devolucin an no se
han cargado y los valores de las propiedade s del control no se han restaurado a los
valores del estado de vista.
4 Fase: Carga Durante la carga, si la solicitud actual es una devolucin de datos,
las propied ades del control se car gan co n informacin recuperada del estado de
vista y del estado del control.
5 Fase: Validacin Duran te la validacin, se lla ma al mtodo Validate de
todos los controles de validacin, que establece la propiedad IsValid de cada uno
de los controles de validacin y de la pgina.
6 Fase: Control de eventos de devolucin de datos Si la solicitud es u na
devolucin de datos, se llama a los controladores de eventos.
7 Fase: Representacin Dura nte l a representacin, el estad o de vista se
guarda en la pgina y, a co ntinuacin, sta llama a cada uno de los controles para
que aporte su salida
representada al
Response de la pgina.
8 Fase: Descarga Se llama a la descarga cuando la pgina se ha representado
completamente, se ha enviado al cliente y est lista pa ra ser descartada. Llegad o
57
ASP.Net
Response y
que
al evento,
y los ejecu ta
Si el
atributo
forma predeterminada es
todos qu e ut ilizan la c
58
onvencin de
ASP.Net
USO TPICO
Aqu u tilizaremos la
procesa
la pgina.
Crear o volver a crear controles dinmicos.
Establecer una pgina maestra de forma dinmica.
Establecer la propiedad Theme de forma dinmica.
Leer o establecer los valores de las propiedades de
perfil.
Page_Init
Page_Load
Control events
dacin,
controles
de v alidacin antes de
Page_Unload
Llevar a ca bo el trabajo de
incluir:
El cierre de los archivos ab iertos y de las conex iones
a bases de datos.
La f inalizacin del r
egistro o
59
de ot
ras t areas
ASP.Net
vo .aspx ha ce que
para el
es necesario si la pg
Directivas
Las directivas permiten especificar las propiedade s de la pgina y la informacin
de configuracin para st a. ASP.NET utiliza las directivas como in strucciones sobre
el modo en que se debe procesar la pgina, pero no se representan como parte del
formato que se enva al explorador.
La directiva que se utiliza normalmente es @ Page, que permite especificar muchas
opciones de confi guracin para l a p gina, entre las que se encuentran
las
siguientes:
pgina
60
de
cdigo
subyacente
de una
e clase
(code
ASP.Net
y la
directiva @ Page no
incluye
vo
de
archivo de
@ Import
@ OutputCache
@ Implements
@ Register
.NET utilizan la d
irectiva @ Master y l os
directiva
debemos i ncluir un
61
ASP.Net
elemento form de HTML estndar, se deben cumplir ciertas reglas para utilizar este
elemento:
ocesa la
controles qu e
permitan a l usuario in teractuar con la p gina, como botones, cuad ros de texto,
listas, etc. Estos controles de servidor Web son parecidos a
62
en un
elemento
ASP.Net
atributo
subyacente.
<%@ Page Language="VB" CodeFile="Default.aspx.vb" Inherits="Default" %>
lase del
archivo de cdigo
Activamos la vi sta en cdi go fuente seleccion ando de las solapas de debajo la que
pone "Source" y escribimos lo siguiente:
Figura 2.1
63
ASP.Net
En esta im agen vemos que al empezar a escribir una funcin nos aparece una
ventana con las posibles opciones que tenem os a la h ora de in troducir cdigo, esta
ventana es IntelleSense y nos ayuda a sa ber todos los mtodos, propiedades,
atributos etc. que pod emos utilizar cu ando est amos e scribiendo cdigo en una
pgina A>Sp.NET
Una vez escrito pulsaremos en ejecutar la pgina:
Figura 2.2
El resultado se puede observar en la figura 2.3
Figura 2.3
"Now" es una funcin que devuelve la fech a y hora del s istema. Veamos lo que ha
pasado... Nuestro servidor web a ejecutado
64
ASP.Net
Como en e ste caso er a una simple llamada a la f uncin Now, le h emos dich o con
ese cdigo que devuelva el resultado de ejec utar esa funcin, y por tanto , la fe cha
y hora que ves en pan talla. Esto e s la ejecucin del lado del servidor, o l o que
es lo mism o, la ejecucin de una pgina
hubisemos ido por el
Si
esa pgina, no habra funcionado porque debe pasar por el servidor web para poder
hacer esa ejecucin.
El otro tipo de ejecucin es la del "lado del cliente", es decir cdigo que est
dentro de la pgina pero que se ejecuta en el Internet Explorer. Este cdigo es muy
distinto ya que solo hace pequeas operac iones sobre el cdigo de la pgina. Este
cdigo se suele escribir en Java o en Javascript y no tiene comparacin en cuanto a
potencia porque no tenemos a nue stra disposicin todas las funciones de ASP.N ET
ejecutndose en el servidor.
ASP.NET es t pues conectado co n un servidor que puede ser un IIS, co mo
seguramente sea cuando est
65
Figura 2.4
Figura 2.5
66
ASP.Net
ASP.Net
fichero mediante el
protocolo de transferencia d e
servidor con el servicio FTP hab ilitado, una carpeta como destino y los
"credenciales" para poder copiar. Normalmente los sitios FTP no s on de
escritura por eso tendremos que dispon er de una c uenta con acceso de
escritura. Este sistema es muy
realicemos en l.
67
ASP.Net
Figura 2.6
68
ASP.Net
Figura 2.7
Una vez seleccionada el t ipo de conexin que se qui era realizar, el funcionamiento
es muy sencillo ya que solamente seleccionaremos las pa rtes que queremos mo ver
y pulsaremos en la f lecha de la di reccin que queremos move r. Una buena tcnica
que hay que tener en cuenta
proceso.
Figura 2.8
69
de este
ASP.Net
3. CONTROLES
Los controles de ASP.NET son ob jetos de pginas web ASP.N ET q ue se ejecutan
cuando se s olicita la pgina y que representan marcado e n un explorador. Muchos
controles son similares a elementos HTML
texto. Otros controles abarcan com portamiento complejo, por ejemplo controles de
calendario y controles que administran las conexiones de datos.
3.1. CONTROLES DE USUARIO
SP.NET, do nde
controles HTML en u n control de usuari o que en una pgi na ASP.NET estndar. Sin
embargo, el control de usuario no tiene elementos html, body ni form; adems,
la extensin de nombre de archivo debe ser .ascx.
Para crear un control de usuario ASP.NET
1. Abrimos el proyecto de sitio Web al que queramos agregar controles d e
usuario. Si an no tenemos ningn proyecto de sitio Web lo crearemos.
2. En el men Sitio Web, hacemos clic en Agregar nuevo elemento.
Aparecer el siguiente cuadro de dilogo:
70
ASP.Net
Figura 3.1
3. Hacer clic en Control de usuario Web.
4. En el cuadro Nombre, escribiremos un nombre para el control.
De forma p redeterminada, la extensin de no mbre de archivo .ascx se anexa
al nombre de control que escriba.
5. En la list a Lenguaje, seleccionaremos el
71
72
ASP.Net
ASP.Net
dos controles
Button) y cdigo que controla los eventos Click de los boton es y el ev ento Load de
la pgina. Sin embargo, el control no contiene ningn formato, excepto p ara
los controles.
Agregar un control de usuario a una pgina
Para agregar un control de usuario a una pgina es necesario registrarlo primero
en la pgina que aloja el control (o
pgina host). Al
hacerlo, se debe
73
ASP.Net
modo que se
controles
de
e l
uso de
directivas
de
74
ASP.Net
apertura d el
incluir en la et iqueta de
apertura del
ta de acceso virtual al
3.2
CONTROLES DE SERVIDOR
Los controles de servidor web ASP.NET son objetos de pginas web ASP.N ET
que se ejecutan cuando se solic
explorador. Muchos controles de
s de texto.
los conocid os
controles que
75
ASP.Net
programables en el servidor.
El modelo de objetos de los controles de serv
controles
de
servidor HTML predefinidos comparten las propiedades bsicas del control genrico
y, adems, cada control normalmente
de
76
ASP.Net
se muestra en un
Paso a tr
avs de
n los que
el
al mode lo con
servidor Web podra representarse en una tabla o co mo un texto en lnea con otr o
marcado.
Los controles de servidor Web in cluyen controles de formulario tradicionales
como botones y cuad ros de texto, adem s de controles complejos, como, por
ejemplo, las tablas. Tambin incluyen controles que proporcionan funcionalidad de
formulario de uso fre cuente, co mo l a pr esentacin d e datos en cuadrcula, la
eleccin de fechas, la visualizacin de mens, etc.
Los controles de servidor Web ofrecen to das las funciones descritas anteriormente
para los controles de servidor HTML (excepto la asignacin uno a uno a elementos)
y estas funciones adicionales:
77
ASP.Net
78
entos
ASP.Net
control a la pgina.
79
ASP.Net
Figura 3.3
3.3
CONTROLES DE ELEMENTOS
Los controles de los elementos Web ASP.NET son un conju nto i ntegrado de
controles concebidos para crear
un usuario en
o de control
es
de
elementos Web, e
l usuario
80
como
ASP.Net
controles de forma que, por ejem plo, un control grfico podra mos trar un
grfico para los datos de un co
si tio,
que
81
ASP.Net
Una ventaja del uso de una herramienta como Visual Studio es que el conjunto
de controles de elementos Web ofrece ca ractersticas para crear y
configurar
Desarrollo
de
controles.
ET
ados y controles d e
Desarrollo
de
aplicaciones
Web.
El desarrollo
de aplicaciones Web
ministrar el
cdigo y
los e lementos
82
pueden utilizar
ASP.Net
marcarlo c omo
El bloque script puede contener tanto cdigo como requiera la pgina, este cdigo
puede contener controladores de eventos para los controles de la pgina (c omo
en el e jemplo), mtodos, propiedades y c ualquier tipo de cdigo como el que se
empleara normalmente en un archivo de clase.
83
ASP.Net
vara segn el
84
un solo archivo,
ASP.Net
runat="server"
onclick="Button1_Click"
Text="Button" >
</asp:Button>
</div>
</form>
</body>
</html>
ase
85
ASP.Net
de
nformacin en
una gran
un
permite a l os equ ipos en viar y recibir dat os en un est ilo predecibl e, h abilitando la
capacidad de programacin que se
os y
definirlo prcticamente todo, dejando espacio para la expansin. Uno de los bloques
de creacin fundamentales del Internet programable son los servicios Web XML.
Microsoft proporciona la compatibilidad
para generar
utilizando t ecnologas diseadas para sat isfacer las n ecesidades de dest inatarios
diferentes. Especfica mente, Microsoft ofrece a
de
crear servic ios Web XML utilizando ASP.NET, ATL Server, .NET Remoting, y
SOAP Toolkit 2.0. ASP.NET y .NET Remoting f acilitan la creaci n de serv icios
Web XML, puesto que se generan en la parte superior de .NET Framework. El SOAP
Toolkit 2.0 proporciona los servicios Web XML compatibles que admiten Microsoft
Visual St udio 6. 0 y las aplicaci ones h eredadas, permit iendo in teroperar con los
servicios Web XML generados en .NET Framework.
ubicuos, como XML y HTTP. Los s ervicios web XML dependen en gr an medida de la
amplia aceptacin de XML y otros est
ndares de
una
86
de
ASP.Net
los datos y la
y lenguajes de
we b
alto grado de
alizada para h
87
ASP.Net
sistemas autnomos y dife rentes. Los servicios web XML logran esta funcin
con XML.
Los servicios web XML emplean una infraestructura que proporciona lo siguiente:
Figura 1.1
infraestructura.
88
e la
ASP.Net
PARTE DE LA
FUNCIN
INFRAESTRUCTURA
Directorios
ubicacin
una
un proceso
o varios
interacciones
admite e l
conexin
SOAP es el proto
q ue entiende cualquier
los estndares web ms
colo c lave para
89
la
ASP.Net
El proceso que produc e al hacer una l lamada a un servicio web XML es similar al
una llamada a un mtodo normal. L a
del transporte
especificado, por ejem plo, HTTP. Puesto qu e el m todo de servicio web XML s
puede encontrar en otro equipo, la inform acin que el s ervicio web XML necesit a
para procesar la solicitud se deb
devuelve el
Figura 1.2
llama a un servicio
web
XML:
1. El clien te crea una nueva instancia de la clase de proxy del servicio
web XML. Este objeto reside en el mismo equipo que el cliente.
2. El cliente invoca un mtodo en la clase de proxy.
3. La infraestructura en
el equipo
90
ASP.Net
web XML, pa
sando el
argumentos.
5. El mtodo de servicio web XML ejecuta su cdigo, estableciendo
finalmente el valor devuelto y los parmetros out.
6. La infraestructura en
cliente, recibe el
web de XML
91
ASP.Net
mensaje de respuesta. El autor d e la soli citud debe ser capaz, posterior mente, de
extraer la informacin necesaria de este mensaje.
Declaracin de servicios web
Al crear un servicio web en AS
necesaria al principio
P.NET, se
coloca la
directiva @ WebService
de
en correlac in la d ireccin URL del serv icio web con su impl ementacin. Tambin
implementa la clase d e servicio web qu e define los m todos y tipos de datos
visibles por los clientes de servicios web.
La clase de servicio web que definamos puede inclui rse directamente en e l
archivo . asmx o en
Si
usamos
un
archivo
el
clase
WebService.
Podemos establecer e l espacio de nombres XML predeterminado para
servicio w eb ju nto con un a caden a para describir
el
el servicio w eb aplican do e l
atributo WebService opcional a una clase que impl ementa u n servicio w eb. Se
recomienda cambiar este espacio de no mbres predeter minado, que or iginalmente
es http://tempuri.org, antes de que el servicio web se use pblicamente. Esto es
importante porque el s ervicio web debe diferenciarse de otros servicios web q ue
podran u sar in advertidamente el espacio de nombres como valor pr edeterminado
(<http://tempuri.org/>).
Declaracin en el mismo archivo
<%@ WebService Language="VB" Class="Util" %>
92
las respuestas, pero c on los servicios
ASP.Net
te
mensajes SOAP. Los clientes env an una solicitud SOAP a u n servi cio web y un
mtodo de servicios web devuelve normal mente una respuesta SOAP. Los servicios
web definen el tipo de mensajes que aceptan utilizando operaciones, como define el
Lenguaje de descripcin de servicios web (WSDL). Es tas oper aciones ponen
en correlacin cada uno de los mtodos de servicios web dentro de un servicio web.
Aunque ca da uno
de estos mt odos de
utilizando un mtodo de una clase, es importante comprender que los datos que se
comunican eventualmente a trav s de l a red se deban
tanto, es importante recordar que los serv
DCOM, si no una
entre
2. MTODOS ASNCRONOS
Implementar un mtodo de servicio web asincrnico permite a ese subproce so
ejecutar otro cdigo cuando se devuelve al gr upo de subprocesos. Esto permite la
93
ASP.Net
El ltimo parmetro es
te a un
mtodo.
3. La lista de parmet
ros para
el
mtodo
End es t compuesto de
uelto de un
Imports System.Web.Services
<WebService(Namespace:="http://www.contoso.com/")> _
Public Class MyService
Inherits WebService
94
ASP.Net
En la comunicacin de forma as
modelos de diseo de
iguen los d os
.NET Framework.
Wsdl.exe y el modelo de diseo asincrnico de .NET Framework
Cuando la herramienta Lenguaje de descripcin de servicios web (Wsdl.exe)
genera un a clase de proxy cliente par a tener ac ceso a un servic
io web
95
ASP.Net
Wsdl.exe c rea automti camente tres mtodos para ca da operacin (un mto do
de servicio web en AS P.NET) publicada en el servicio web. Un mtodo es para el
acceso sincrnico; los otros dos son para el acceso asincrnico.
NOMBRE DE MTODO EN CLASE
DE PROXY
DESCRIPCIN
<NameOfWebServiceMethod>
denominado
<NameOfWebServiceMethod>.
Begin<NameOfWebServiceMethod>
mtodo de
servicio
interfaz IAsyncResult.
End <NameOfWebServiceMethod>
Los mtodos Begin y End siguen la nomenclatura del modelo de diseo asincrnico
de .NET F
ramework. El modelo de di
seo indica
96
ASP.Net
tcnicas para
define en .NET
Framework:
que los
objeto IAsyncResult
ere un contexto de si
ncronizado/afinidad del
s. sa precisamente es la
semntica del
ualquier
97
z co n el
ASP.Net
ecializado para
recoger, dar formato e insertar los datos en la nueva tabl a. Estas do s tareas estn
relacionadas e in cluso son in terdependientes, de tal ma nera que s e desea evitar
crear una nueva tabla a menos que pueda llenarse de datos. La ejecucin de ambas
tareas dentro del mbito de una nica transaccin refuerzan la conexin entre ellas.
En caso de error en la segunda
anterior a la
duradero). Estas prop iedades ref uerzan la funcin de transacciones crticas p ara
una misin como proposiciones tod os-o-ninguno, garantizando que un conjunto d e
tareas relac ionadas tenga xito o que pr oduzca un error como una uni dad. E n la
terminologa del procesamiento de transacci ones, la transaccin interrumpe o
procesa el procesamiento.
Todos los participantes deben garantizar para que se produzca una transaccin que
cualquier cambio a los datos ser permanente.
Los cambios deben co nservarse a pesar de bloqueos del sistema u
otros eventos
imprevistos. Tan slo producindose un error en uno de los part icipantes al realizar
la garanta, la transaccin entera genera un error.
Todos los c ambios de los datos
transacciones
98
ASP.Net
esitamos
el a dministrador de tran
de
sacciones implicado.
La
mticamente stos p
ara
nosotros.
Cuando creamos una transacci n, podemos especificar el
que se aplica a la tr
nivel de aislamiento
clase
servicio web
io
da al
99
amework para
ASP.Net
la
soft (tambin
enen l as
propiedades ACID e xigidas para ejecutar aplicac iones distribuida s robustas. Los
mtodos de servicio web que llaman a otro s mtodos de s ervicio web participan en
transacciones diferent es, po rque las transacciones no
servicio web.
Para participar en una transaccin de un mtodo de servicio web
1. Declaramos un servicio web.
<%@ WebService Language="VB" Class="Orders" %>
System.Web.Services y
System.EnterpriseServices.
Imports System.Web.Services
Imports System.EnterpriseServices
del
iendo la
WebMethodAttribute
System.EnterpriseServices.TransactionOption.RequiresNew.
< WebMethod(TransactionOption:=TransactionOption.RequiresNew)> _
Public Function DeleteAuthor(lastName As String) As Integer
100
propiedad
como
ASP.Net
ha sido autenticada, la
autorizacin determina si
esa
es el nivel de
seguridad y de rendimiento. Para algunos Servicios Web, es impo rtante que las
credenciales del cliente se enven a travs de la red utilizando el cifrado, por lo que
es esencial un algoritmo que cifre las credenciales del cliente.
La siguiente tabla es un resumen de las opciones de au tenticacin disponibles para
los Servicios Web generados con ASP.NET.
OPCIONES
DE
AUTENTICACIN.
DESCRIPCIN
Windows: Basic
usuario y
Windows:
Basic
101
sobre SSL
ASP.Net
se env an a
Windows:
autenticacin
implcita
nsmitir as
las
la
otras
plataformas.
Windows: Windows
integrada
Windows:
certificados
del
cliente
Formularios
Encabezados SOAP.
Personalizado
en cuenta la
102
ASP.Net
Autenticacin de Windows
IIS y ASP.NET proporcionan la compatibilidad para autenticar las aplicac iones
web, in cluso los Serv icio Web, u tilizando la seguridad integrada en Windows.
Windows proporciona tres opciones para
procedimientos para preparar el Serv icio Web y el cli ente de serv icios w eb son
similares. No se n ecesita agregar nada de cdigo a un Servicio Web para u tilizar la
autenticacin de Wi ndows, c uando l as opci ones de autenticacin se establecen en
un archi vo de confi guracin e IIS. Se de be agregar u n cdigo a un cliente de
servicios web para pasar las credenciales del cliente al Servicio Web.
Si SSL se el ige como la part e d el mecan ismo de au tenticacin u tilizada po r u n
Servicio W eb, necesitamos configurarlo
Servicio W eb o para el propi
de la red. La
servidor w eb. Un a v ez est ablecida la com unicacin, slo los equipos servidores y
cliente pueden comunicarse entre s utilizando esa conexin SSL.
103
ASP.Net
acceso a un recur
se
establecen en IIS en una base por archivo. La autorizacin de URL se puede utilizar
con cualquiera de los meca
por
confan
en
el
transporte
HTTP,
mientras
que
SOAP
es
independiente del transporte. Los Servicio Web gen erados con A SP.NET utilizan
SOAP sobre Http, as como imp
lementaciones HTTP-POST y
HTTP-GET que
devuelven los documentos XML de no SOAP. As que, una razn para crear un
mecanismo de aut enticacin per sonalizada es desacoplar la autenticacin del
transporte. Esto se pu ede l ograr pasando las credenciales de aute nticacin en el
encabezado SOAP.
Los encabezados SOAP son
era de banda o
104
ASP.Net
un
copiar el
archivo .asmx y
los
ensamblados usados por el servicio web que no se s uministra como una parte de
Microsoft .NET Framework en un directorio virtual en un servidor web.
El descubrimiento de servicios web es el proceso
descripciones de servicios web, que son un paso preliminar para tener acceso a un
servicio web. A t ravs del proceso de descu brimiento, los clien tes de serv icios web
pueden obten er in formacin en t iempo de di seo de la existencia de u n serv icio
web, c ules son sus
105
ASP.Net
URL.
Disco
/out:location /us
ername:user /pas
sword:mypwd /do
main:mydomain
http://www.ejemplo.com/my.disco
normalmente obtiene
descubrimiento, u n d ocumento
XML que
el formulario de un documento de
puede con tiene v nculos a otros
archivo
un archivo de descubrimien to
direcci
n la
n URL a un servicio
www.pruebas.com/getquote.asmx, a
es
continuacin, se genera
permitir a l as aplicac iones de clie nte de servicios w eb descu brir t odos los
servicios web disponibles en la carpeta y subcarpetas que corresponden a la
direccin URL de una solic itud. No es necesario crear ningn documento de
descubrimiento esttico . Cuando s e acti va el descubrimiento dinmico para
106
ASP.Net
rar un proxy de cliente podemos
Information
Server
o. Una
forman parte
DESCRIPCIN
Archivo
<MyXMLWebService>.asmx
Archivo
<MyXMLWebService>.disco
Archivo Web.config
107
ASP.Net
el archi vo de
p ersonalizacin y
emplo, puede
proporci
onar un archi
vo
siguientes:
5.2 PUBLICACIN
Publicar un documento de descubrimiento esttico para un servicio web
1. Creamos un documento XML con
108
ASP.Net
descubrimiento agregando un
documentos de
se
especifican agregando
e debe
ra los tres ti
el nombre de ni
109
omo la
ASP.Net
Si la pg ina predeterminada de la
web. Por
ejemplo:
<?xml-stylesheet type="text/xml" alternate="yes"
href="MyWebService.disco" ?>
archivo
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.vsdisco"
type="System.Web.Services.Discovery.DiscoveryRequestHandler,
System.Web.Services, Version=1.0.3300.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
validate="false"/>
</httpHandlers>
</system.web>
</configuration>
110
6.
ASP.Net
6.1 WSDL.EXE
Esta herramienta genera cdigo para serv icios web XML y clientes de servicios web
XML de ASP.N ET a pa rtir de archivos de contrato WSDL, esquemas XSD y
documentos de descubrimiento (.discomap).
Un archivo .wsdl es un documento XM L es crito con u na gramti ca denomi nada
Lenguaje de descripcin de servicios Web (WSDL). En este archivo se
describe cmo se comporta un se rvicio web XM L y cmo se in struye a los clie ntes
para que interacten con el servicio.
Cuando se utiliza Wsdl.exe para crear una
archivo de cdigo fuente en el lenguaje
un en foque de
denominador menos comn para convertir los objetos a un tipo determinado. Como
consecuencia, es posible que el tip o genera do en la clase de proxy
deseamos o esperam os. Por ej
no sea el que
tipo
ArrayList en una des cripcin de servicio, crea Object Array en la clase de proxy
generada. Para garantizar que las conversi ones de tipo de objeto s ean correctas,
abriremos el archivo que contiene la c lase d e proxy generada y cambiaremos los
tipos de objeto incorrectos al tipo de objeto esperado.
wsdl [options] {URL | path}
local de contrato
111
ento de
ASP.Net
DESCRIPCIN
/appsettingurlkey:clave
O bien
leer el val
/urlkey:clave
or predet erminado de l
para
a propi edad de
el el emento
O bien
calcular el fragmento de di
/baseurl:direccinurlbase
liza al
reccin URL.
Esta
lativa desde el
<appSettingBaseUrl>
or es el
cadena.
/d[omain]:dominio
/l[anguage]:lenguaje
obal. Cua
ndo se u
or
sa l
es el
a opci
elemento
112
ASP.Net
Genera i
dentificadores de or
den expl
citos en
miembros de partcula.
/o[ut]:nombredearchivo o
nombrededirectorio
va el
nombre de arc
hivo
La
archivos.
Cuando se usa l
a opc in
e lemento <out> y
a herramienta
n se encu
entran en
un el
emento
<wsdlParameters
xmlns="http://microsoft.com/webReference/">
.
/parsableerrors
/p[assword]:contrasea
/protocol:protocolo
el
113
/proxy:direccinURL
ASP.Net
or es el
O bien
/pd:dominio
/proxypassword:contrasea
O bien
/pp:contrasea
se usa l
or es el
O bien
conectarse
/pu:nombredeusuario
a un serv
o qu e se usa para
requ iere
or e s un el
emento
l a i mplementacin en el
butos de s
114
ASP.Net
Haga r eferencia a
los s ervicios
con
archivos l
ndo se u
ocales. Cua
or
sa l
es el
a opci
elemento
myProxyClass.vb.
wsdl /language:VB /out:myProxyClass.vb
http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
an al archivo WSDL
/parameters mediante e l
<documents>.
115
ASP.Net
<wsdlParameters xmlns="http://microsoft.com/webReference/">
<nologo>true</nologo>
<parsableerrors>true</parsableerrors>
<sharetypes>true</sharetypes>
<documents>
<document>http://www.ejemplo.com/service.asmx?WSDL</document>
</documents>
</wsdlParameters>
<codeGenerationOptions> y
<webReferenceOptions>. En este
enlace de datos en el
lementos
esquemas, que los resultados no deben se r detallados y que W sdl.exe debe c rear
un servidor proxy de cliente.
<wsdlParameters xmlns="http://microsoft.com/webReference/">
<nologo>true</nologo>
<parsableerrors>true</parsableerrors>
<sharetypes>true</sharetypes>
<documents>
<document>http://www.ejemplo.com/service.asmx?WSDL</document>
</documents>
<webReferenceOptions>
<verbose>false</verbose>
<codeGenerationOptions>properties newAsync enableDataBinding</codeGenerationOptions>
<schemaImporterExtension>
<type>MyNamespace.MyCustomImporterExtension,ExtensionLibrary</type>
</schemaImporterExtensions>
<style>client</style>
</webReferenceOptions>
</wsdlParameters>
6.2 DISCO.EXE
Esta herramienta permite descubrir d irecciones URL de servicios web XML ubicados
en un servi dor web y guardar los document os relac ionados con cad a servicio Web
XML en un disco local.
El archivo .discomap pu blicado en un serv icio web XML es un
documento X ML
que, por lo gen eral, contiene vnculos a ot ros recursos descritos en el servicio web
XML. Los s itios web
que implementan
116
ASP.Net
compatibles con esta herramienta. Los servicios web X ML se pueden crear para uso
privado.
Los archi vos .wsdl , .xs d, .di sco y .di scomap generados por esta h erramienta se
pueden u tilizar como
entrada de la
OPCIN
DESCRIPCIN
/d[omain]:dominio
Especifica el nombre
Esta opcin no g
descubiertos ni los
uarda los d
ocumentos
resultados (archivo
se guarden
los documentos.
/nologo
Suprime la
presentacin de la
portada de
inicio de Microsoft.
/o[ut]:nombrededirectorio
l director io
actual.
/p[assword]:contrasea
utiliza para
117
ASP.Net
/proxydomain: dominio
Especifica el
O bien
/pd :dominio
autenticacin.
/proxypassword: contrasea
O bien
/pp: contrasea
autenticacin.
/proxyusername:
nombredeusuario
O bien
requiera autenticacin.
ue
/pu: nombredeusuario
/u[sername]:nombredeusuario
ue
requiera autenticacin.
/?
En este ejemplo ve
mos la lnea de
documentos de descubrimiento en la
118
direccin URL
7.
ASP.Net
ica seg n el t
y a la qu e se aplica
ipo de
la con figuracin. La
aplicacin, t al como se
indica a
continuacin:
Aplicacin
web
ASP.NET
(servicio
cliente): E
l elemento
en el archivo de configuracin de la
aplicacin.
El elemento <webServices> y s us descendientes se aplican a los siguientes tipos
de clases:
Una
clase
de
de
WebClientProtocol.
Un elemento <webServices> puede aplicarse tanto a un servicio web como a un
cliente en el caso de que una aplicacin web contenga ambas entidades.
119
120
ASP.Net
ASP.Net
DESCRIPCIN
uede
viados por un cl
iente y
<serviceDescriptionForm
atExtensionTypes>
de
<soapExtensionTypes>
<add> para
<soapExtensionImporter
Types>
el proceso de
de
servicio (SDFE).
<add> para
<soapExtensionReflector
Types>
especificada de reflector de
el proceso de
erencias a los e
lementos
un
de
121
ASP.Net
Quita un
<protocols>
archivo de configuracin.
<remove> para
<serviceDescriptionForm
atExtensionTypes>
<remove> para
<soapExtensionTypes>
<remove> para
<soapExtensionImporter
clase especificada de im
Types>
SOAP.
<remove> para
<soapExtensionReflector
extensin de formato de
portador de extensin
Types>
<serviceDescriptionForm
atExtensionTypes>
<soapExtensionImporter
Types>
<soapExtensionReflector
Types>
o de generacin de
122
ASP.Net
Controla la con
figuracin de serv
implementados mediante
ASP .NET,
icios Web
y l a de
que se muestra en el
123
ASP.Net
2. PorquseutilizaelarchivoGlobal.asax?
3. Puedehabermsdeunarchivomachine.configenunsistema
4. Loscontroladoresdelservidorwebseprocesanen
124
ASP.Net
SOLUCIONESALOSEJERCICIOSDEREPASO.UNIDADDIDCTICA2
1. Lafrasecorrectaes:Todoloanterior:A,ByC.
2. La respuesta correcta es: Porque se necesi ta pa ra i mplementar l os eventos a ni vel de
aplicacin y de sesin
3. Larespuestacorrectaes:Verdadero
4. Larespuestacorrectaes:Enelservidor.
125
ASP.Net
pgina
126
ASP.Net
Figura 1.1
Area componentes
Los componentes de cliente habilitan comportamientos enriquecidos en el
explorador sin devoluciones de datos. Los componentes pertenecen a tres
categoras:
mportamiento bsi co de l os
n nuevo
comportamiento personalizado.
El tipo de componente que utilicemos depender del tipo de comportamiento
de cliente q ue queram os. Por ejemplo, una marca de agua para un cuadro
127
ASP.Net
capa
de
compatibilidad
para
exploradores pr
oporciona
muchos es cenarios
formacin del p
erfil en
l os script s de cl
iente. E sta
compatibilidad t ambin est dispon ible para las aplicac iones w eb que n o s e
crean u tilizando ASP. NET, siempre qu e la aplicac in t enga el acceso a la
Microsoft AJAX Library.
Core Services
rea Servicios bsicos
128
ASP.Net
archivos
JavaScript
(.js) que
proporcionan
Compatibilidad
para
las
bibliotecas
de
JavaScript
archivos
los
mensajes
de
rea Globalizacin
La arquitectura de serv idor y cliente de AJAX en ASP.NET dispone de
un modelo para localizar y globalizar los scripts de cliente. Esto
permite disear aplicaciones que utilizan una base de cdigo nica
para proporcionar la interfaz de usuario para muchas configuraciones
regionales (idio mas y refere
arquitectura de AJAX
automticamente a
permite al
los
objetos
129
lo, la
dar formato
Number segn la
ASP.Net
e AJAX en ASP
el s ervidor al c liente. E n
al
ensamblado.
Las caracte rsticas de AJAX en A SP.NET incl uyen un m odelo para los modos de
lanzamiento y depuracin. El modo de lanzamiento permite la comprobacin
de errores y el control de excepciones op
la co
el modelo de
localizacin de ASP .NET 2. 0. qu e proporci ona compat ibilidad adi cional par a los
archivos . js loca lizados qu e se incrustan en
disco.
130
ASP.Net
ET. Estos
servicios se pueden llamar med iante un scr ipt en una pgi na we b habilitada para
AJAX, una aplicacin cliente de Windows o un cliente compatible con WCF.
Area Controles de servidor
Los controles de servidor de AJAX es tn compuestos por cdigo de servidor y
de cliente q ue se integ ra para gen erar un comportamiento de cliente enriquecido.
Cuando se agrega un control
ScriptManager: Administra los recursos del s cript para los compone ntes de
cliente, represen tacin parcia l de la pg ina, loca lizacin, globaliz acin y
scripts de usuario personalizados. El control ScriptManager es necesario para
poder utilizar los controles UpdatePanel, UpdateProgress y Timer.
sincrnica.
131
ASP.Net
Figura 1.2
2. En Plantillas instaladas de Visual Studio, hacemos clic en Sitio Web de
ASP.NET.
3. En el cuadr o Ubicacin, escriba el nombre de la carpe ta en la que desea
conservar las pginas de su sitio Web.
Por ejemplo, escribimos el nombre de carpeta C:\sitioweb
132
ASP.Net
Figura 1.3
2. En Plantillas instaladas de Visual Studio, seleccione Web Forms.
3. Asignaremos a la nueva pgina el nombre ejemplo.aspx y desactivamos la
casilla Colocar el cdigo en un archivo independiente.
4. Seleccionamos el idioma que queramos usar y hacemos clic en Agregar.
5. Cambiamos a la vista Diseo.
133
ASP.Net
Figura 1.4
7. Arrastre un control UpdatePanel desde el
cuadro de herramientas y lo
igo
para el acceso a los dat os utilizando clases del espacio de nombres System.Data
(normalmente denominado ADO .NET) y del espacio de
nombres System.Xml.
134
ASP.Net
ASP.NET. Por
tanto, no es estri ctamente necesari o cono cer los detalles del c iclo de vida d e la
solicitud de pgina si slo se va a realizar el enlace de datos.
2.1
Estos
mo
intermediarios entre un almacn de datos en part icular (como una base de datos,
un objeto comercia l o un archivo XML) y lo s dems controles de
la pgina W eb
in se pu
ir
DESCRIPCIN
Permite trabajar con una base de datos de Microsoft
Access.
LinqDataSource
Permite usar
y modificar dat os de un
135
ASP.Net
filtrado y paginacin.
ObjectDataSource
SiteMapDataSource
SqlDataSource
edores de datos
XmlDataSource
vo XML,
que es
2.2
a datos que
se describen en la ta
bla
siguiente.
CONTROL
ENLAZADOS A
DATOS
DESCRIPCIN
Controles de lista
troles de
136
lista se
incluyen los c
ontroles
BulletedList, CheckB
ASP.Net
oxList, DropDownLi
st, Li
stBox y
RadioButtonList.
AdRotator
DataList
FormView
Es si milar al control
necesidad de cdigo.
ListView
s datos con
plantillas. Admit e
en un
137
de nodos q ue se
2.3
ASP.Net
LINQ
Visual Basic. LINQ aplica los prin cipios de la programacin orientada a objetos
a los datos relacionales. Para trabajar co n LINQ, po demos uti lizar el control
LinqDataSource o crear directamente consultas LINQ para tener acceso a datos
desde una pgina web.
Si utilizamos LINQ en una aplicacin web, es posible que tengamos que cambiar los
archivos de directivas para la seguridad de acceso del cdigo.
Control LinqDataSource
El control LinqDataSource proporciona una manera fci l de conectar a l os datos
de una base de datos o a una rec oleccin de datos e n memoria como una matriz.
Podemos escribir med iante declaracin to das las condiciones neces arias para los
escenarios tpicos como la
datos. El control
s LINQ to
SQL, tambi n
controles GridView y
DetailsView son
los registros de
138
la tabla Contactos c
uya
ASP.Net
Control ObjectDataSource
El control ObjectDataSource se u tiliza cu ando qu eremos interactuar con los
datos de
una ma
nera ms compleja
que la que
permite el c
ontrol
que
ello,
los mtodos
SelectMethod, UpdateMethod,
que el control
139
ASP.Net
runat="server"
selectmethod="GetEmpleados"
typename="Ejemplo.AspNet.VB.EmployeeLogic" />
</form>
</body>
</html>
Consultas LINQ
Podemos incluir consultas LINQ en un a pgin a w eb sin u tilizar un control de
origen de datos. Normalmente est as consultas se utilizan si nece sitamos utilizar un
operador de consulta que no est disponible en el control LinqDataSource. Tambin
podemos utilizarlo si
en un co ntrol
2.4.
DATOS DINMICOS
Los datos dinmicos de ASP .NET son un marco que permite crear rpida
mente
aplicaciones web ASP.N ET controladas por datos. Los datos dinmicos detecta n
automticamente el modelo de
datos en
140
ASP.Net
las
siguientes funciones:
Poco o nada de cdigo para crear una aplicacin web controlada por datos.
campo
booleano
Dicha tcnica podr per sonalizarse posteriormente mediante el uso de metadatos y
plantillas
o la crea
las
os a f in de
rarlo y modif
UIHintAttribute
na plan
tilla de
tilizar e l
campo
141
ASP.Net
ty Fra mework. La
mostrar
142
ASP.Net
gina de
Figura 1.1
En esta imagen todos los
143
recurso estar
Cuando se est
ASP.Net
tilizar la s
archivos
Machine.config y Web.config.
figuracin base y
la
subdirectorio
subdirectorio.
archivo Web.config: l as secciones
archivo de configuracin:
<authentication mode="[Windows|Forms| None]">
<forms name="name"
loginUrl="url"
protection="[All|None|Encryption|Validation]"
path="path" timeout="minutes"
requireSSL="[true|false]"
144
slidingExpiration="[true|false]">
<credentials passwordFormat="[Clear|MD5|SHA1]">
<user name="********"
password="********"/>
</credentials>
</forms>
</authentication>
<authorization>
<allow users="comma-separated list of users"
roles="comma-separated list of roles" />
<deny users="comma-separated list of users"
roles="comma-separated list of roles" />
</authorization>
<identity impersonate ="[true|false]"
userName="domain\username"
password="password" />
<trust level="[Full|High|Medium|Low|Minimal]"
originUrl=""/>
<securityPolicy>
<trustLevel name="Full" policyFile="internal"/>
<trustLevel name="High" policyFile="web_hightrust.config"/>
145
ASP.Net
ASP.Net
Valor predeterminado
Descripcin
ue se permiten
ere ni nguna
autenticacin).
<authentication
mode="Windows" />
<credentials
tiliza e n las
passwordFormat="SHA1" />
146
ASP.Net
<forms
dirige la so licitud si
loginUrl="logon.aspx" />
<forms name=".ASPXAUTH"
/>
de formularios se almace
na en el equipo
del
usuario.
La ruta
autenticacin de f
ormularios. E
lv
alor
cceso
La seguridad que se
ha aplicado al vale de
<forms requireSSL="false"
/>
conexin SSL
para t
ransmitir la cook
ie de
autenticacin.
<forms
147
ASP.Net
slidingExpiration="true" />
plazo de expiracin.
<identity
impersonate="false" />
est habilitada.
dentidad
de us
i la suplantacin
uario de fo
rma
predeterminada.
<trust level="Full"
e aplicar
a la
originUrl="" />
aplicacin.
<trustLevel name="Full"
policyFile="internal"/>
<trustLevel name="High"
policyFile="web_hightrust.co
nfig"/>
<trustLevel name="Medium"
policyFile="web_mediumtrus
t.config"/>
<trustLevel name="Low"
148
ASP.Net
<trustLevel name="Minimal"
policyFile="web_minimaltrus
t.config"/>
1.1. SUPLANTACIN
El escenario de suplantacin se basa en
Figura 1.2
1. Una solicitud de un cliente de red llega a IIS.
149
ASP.Net
Microsoft
1.2.
AUTENTICACIN DE FORMULARIOS
y la co
la
150
ASP.Net
Figura 1.3
1. Un usuario genera una solicitud de un recurso protegido.
2. IIS recibe la solicitud y, dado que el acceso annimo de IIS est habilitado,
IIS no realiza ni nguna autenti cacin del usuario y la solicitud se pasa a
la
aplicacin ASP.NET.
3. Dado que
el modo de autenticacin
de AS P.NET se
ha establecido en
formularios, la apl icacin ASP.NET examina la solicitud para obt ener un vale
de autenticacin de formularios (una cookie concreta). Si no hay ningn vale
de au tenticacin asoci ado a la solic itud, ASP. NET rediri ge la sol icitud a la
pgina de inicio de sesin especificada en el arch ivo de configuracin de la
aplicacin.
4. En la pgina de inic
io de sesin,
151
ASP.Net
ce un
error en la au tenticacin, la
aplicacin.
funcione eficazmente:
152
ASP.Net
e se
necesiten.
b. Configurando la ap licacin de f
el r endimiento de la
mismas opciones
en el
archivo
individuales en la
ades de
cach
Control: El almacenamiento en
153
3.
ASP.Net
DEPURACIN EN ASP.NET
licacin
6.0
(W3wp.exe).
y el depurador vuel
ve a asignar al cd
instrucciones que se ej ecutan en el proceso, d e forma que pueda ver cada lnea de
cdigo que se ejecuta.
Visual Debugger
Visual Debugger nos
Puntos de interrupcin:
154
ASP.Net
o de interrupci n, se dice
que el
iones y
el valor de
la
En lugar de
jes de progr
amacin q ue tiene
ejecucin y dejan e
de estas
al
punto de
como recorrer paso a paso el cd igo). Visual Debugger i ncluye una se rie de
caractersticas que nos ayudan a r ecorrer el c digo, como iteradores que le
permiten especificar c untas veces hay que recorrer
un bucle a ntes de
volver a detenerse.
Vista de datos
ver y h acer u n segu imiento de los dat os mien tras la aplicac in est en
155
ASP.Net
Figura 3.1
Configurar aplicaciones para depuracin
Para h abilitar la depu racin para u na aplicacin Web ASP .NET, t enemos que
configurar la aplicac in para qu e se compil e en u na versin de depu racin. Una
versin de depuracin incluye informacin que el de purador necesita para poder
recorrer el cdigo y mostrar el contenido de las vari ables. La confi guracin de una
aplicacin Web para las v
ersiones de depu
racin se rea
liza en la
seccin
debug=true a la
depurar una aplicac in que se e jecute en otro servidor. Para poder realiz
ar la
156
ASP.Net
157
ASP.Net
2. Se puede escribir el cdigo para acceso a los datos utilizando clases del espacio de
nombres
3. Seleccionaaqucategoraspertenecenloscomponentesdecliente
4. Elarchivoweb.configseguardaeneldirectoriorazde
158
SOLUCIONESALOSEJERCICIOSDEREPASO.UNIDADDIDCTICA3
1. Larespuestacorrectaes:Repeater
2. Larespuestacorrectaes:AyB.
3. Larespuestacorrectaes:Componentes,comportamientosycontroles.
4. Larespuestacorrectaes:Elsitiowebydelaaplicacin.
159
ASP.Net
ASP.Net
PRCTICAS
ENUNCIADOS.
1.
2.
160
ASP.Net
3.
Creamos un servicio Web XML que usa la clase Trace para dar salida en
un fichero log
4.
161
ASP.Net
5.
Necesitamos reunir
informacin detallada del error para esa pgina para asegurarnos que
los usuarios de la aplicacin puedan continuar viendo la pgina de
errores. qu deberamos hacer?
6.
7.
8.
162
163
ASP.Net
ASP.Net
name
= "TestKSwitch" val
=
ue "1"/>
</switches></system.diagnostics.
4. La respuesta correcta es:
HTTP://TestKing1/MyProject/Agenda/Calendario.aspx?trace.axd.
5. La respuesta correcta es:
En el fiche ro Web.config, cambiamos el
164
ASP.Net
GLOSARIO
A
Aplicacin Web ASP.Net
Aplicacin que procesa las so
se ejecuta en
ASP.NET. Un a aplicaci n Web ASP. NET pu ede in cluir pgin as ASP .NET, serv icios
web, controladores HTTP y mdulos HTTP.
Archivo de cdigo subyacente (code-behind file)
Archivo de cdigo que contiene la clase
programa de una aplicacin de
Web Forms
para
ASP.NET se ejecutan en
WML o
de
el serv idor y
XML) q ue s e env a a un
ASP.NET y los arch ivos de serv icios w eb creados con AS P.NET contienen lgica de
servidor (en vez de lgi
lenguaje compat ible co n . NET. Las aplicac iones y los servicios w eb aprov echan las
caractersticas de
la
165
ASP.Net
C
Cach de ensamblados global (GAC)
Cach de c digo para todo el eq uipo que almacena los ensamblad os instalad os
especficamente para
de
en un archivo
independiente (como un archivo .dll o .cs). Por ejemplo, puede escribir una clase de
cdigo sub yacente q ue crea un contro
contiene cdigo al que se llama desde un archivo .aspx, p ero que no reside dentro
del archivo .aspx.
Cdigo administrado
Cdigo ejecutado por
ejecutarlo
el entorno de
directamente el siste
ma op erativo. Las
ios de
166
aplicaciones de cdigo
a
ASP.Net
suministrar sus
age
programacin
del proveedor en
digo
el formulario de una
instancia de interfaz.
Control de origen de datos
Objeto que se puede agregar a una pgina
necesaria para conectarse a un origen de datos, como una base de d atos o archivo
XML, y que puede ejecutar co nsultas o cual quier otro comando de acceso a datos.
167
ASP.Net
Un control de origen de datos pue de a su vez proporcionar datos a otros contr oles
en esa pgina.
Control de servidor ASP.NET
Componente del se rvidor que encapsula la interfaz de u suario y otra funcionalidad
relacionada. Un control de servido r ASP.NET deriva d irecta o indirec tamente de la
clase System.Web.UI.Control. E l supracon junto de controles de servidor ASP.NET
incluye controles de s
ASP.NET que
pertenece al espacio
de nombres
Control y compila d
icha clase en un
su
o o por un pr
no
Forms ( pginas ASP .NET) se ut ilizan con troles de serv idor personal izados. En las
168
ASP.Net
D
Datos dinmicos
Marco que facilita la creacin de aplicac iones web controladas por da tos. Los datos
dinmicos u tilizan pgin as person alizables y
plantillas de campo,
scaf folding,
por las rela ciones en tre las t ablas, as co mo modificar y crear dato s (operacion es
CRUD).
Devolucin de datos asincrnica
Proceso de enviar los datos de la pgina web (adems d el estado de vista y o tros
metadatos necesarios) desde el explorador al servidor s in una devol ucin de datos
completa y si n bl oquear al usuari o para qu e pueda conti nuar tra bajando en l a
169
ASP.Net
pgina. Las devoluciones de datos asincrn icas son una caracterstica importante
de la tecnologa de AJAX.
E
Encapsulacin
Almacn de variables c reado en el servid or para el usuari o actual ; cada usuari o
mantiene un estado de sesi n independiente en el serv idor. El estado de sesin s e
utiliza n ormalmente para almac enar in formacin especf ica de l u suario en tre la s
devoluciones de datos
Enlace de datos
Proceso o mtodo de configuracin de co ntroles en un formul ario o pgi na Web
para extraer datos de un origen de datos o escribir datos en l como una base de
datos, archivo XML, etc.
Ensamblado
Conjunto de uno o var ios archivos que pe rtenecen a una versin y se imp lementan
como unidad. Un ensa mblado es el b loque d e creac in prin cipal de u na aplica cin
.NET Fram ework. Tod os los tipos y recurs
os administrados se incluyen e
n un
ensamblado o
de
n examinar y
de
hacer r eferencia ms
ico puede ab
170
ASP.Net
Esquema [schema]
Coleccin de definiciones
entorno concreto.
Esquemas XML (XSD)
Lenguaje e stndar de World Wide Web
documentos de esquema XML. El esquem a XML est formado por dos partes : un
conjunto de tipos pr
lenguaje XML para de finir nuevo s ti pos (po r ejemplo, compl exType, minOccurs,
element). Estado de aplicacin
Almacn de variables creado en el servidor
compartido
por t odos los u suarios. El est ado de aplic acin se ut iliza n ormalmente para
almacenar informacin utilizada por todos los usuarios, como la con figuracin para
todas las aplicaciones.
Estado de control (control state)
Campo en una pgina Web AS P.NET que almacena los valores de propiedades
actuales para los con troles de ser vidor en la pgin a. El estado de con trol se u tiliza
para volver a crear
la pgina y restable
en cada
devolucin de datos.
Estado de sesin
Almacn de variables c reado en el servid or para el usuari o actual ; cada usuari o
mantiene un estado de sesi n independiente en el serv idor. El estado de sesin s e
utiliza n ormalmente para almac enar in formacin especf ica de l u suario en tre la s
devoluciones de datos
Estado de vista
Campo en una pgi na Web ASP. NET do nde puede al macenar l a confi guracin que
es necesaria conservar entre de
ignificar
estado de control.
G
Globalizacin
Proceso de disear y programar un produc to de software de manera que f uncione
en varias configuraciones regionales. La globalizacin implica la identificacin de las
configuraciones region ales que s e deben
171
ASP.Net
que
H
Host
En el modelo de programacin de complementos de .NET Framework, es el
ensamblado de la aplicacin host que se comunica con un complemento a travs de
la canalizacin de comunicacin
I
IntelliSense
Tecnologa de Microsoft que
permite an alizar el c
miembros que las clases u otras interfaces que los implementan deben suministrar.
Al igual qu e las cl ases, las interfaces pu eden contener como m iembros mtodos,
propiedades, indizadores y eve ntos. Vea ta mbin: contrato, indizador, propiedad,
tipo de referencia.
Instancia
Para poder usar una cl ase u objeto, hay
decir, debemos declarar una variable y a esa variable asignarle el objeto o c lase
en cuestin para que podamos usarlo. Es
objeto par poder usarlo
172
ida al
ASP.Net
L
Language Integrated Query (LINQ)
Sintaxis de cons ulta que defi ne u n co njunto de op eradores de consul ta que
permiten e xpresar operaciones d e cruce seguro, filtro y proy eccin de manera
directa y declarativa en cualquier lenguaje de programacin basado en .NET.
Lenguaje de definicin de esquemas conceptuales (CSDL)
Lenguaje basado en XM
L qu e se u
inir t ipos de en
tidades,
de
descripcin
de
servicios
Web
(WSDL,
Web
Services
Description Language)
Lenguaje de contrato basado en XML para
por un servidor
Lenguaje de marcado de aplicaciones extensible (XAML)
Lenguaje de marcado
para la p
aciones. XAML
173
ASP.Net
M
Metadatos
Informacin que describe todos
los
elementos administrados
por Common
Language R untime: u n ensambl ado, el arch ivo cargabl e, el ti po, el mtodo, etc.
Esto pu ede in cluir informacin n ecesaria par a la depu racin y la recoleccin de
elementos no utilizados, as como atributos de segu ridad, clculo de referencias de
datos, definiciones ex tendidas de clases y
especificada. Los esta dos establecidos que se incluyen con el control de elementos
Web son: catlogo, cone
xin, di seo,
edicin y
expl oracin.
El modo
predeterminado o normal para una pgina Web es explorac in. Los programadores
pueden extender esta caracterstica del modo de presentacin agregando modos de
presentacin person
alizados, qu
e requ
WebPartManager
174
ieren la ex
tensin
de la cl
ase
ASP.Net
Modo integrado
En IIS 7.0, configuracin en l a que IIS y ASP.NET comparten el proc esamiento de
solicitudes en f uncin de u na can alizacin qu e admi te t anto los compon entes
creados con .NET Framework como los componentes nativos. En el modo integrado,
los compon entes de ASP .NET, como los m dulos HT TP, se pu eden u tilizar par a
administrar t odas las solicitudes w eb, in cluso aqullas que no
va n destinadas a
recursos de ASP.NET.
Mdulo (HTTP)
Componente que se puede registrar como p arte de la duracin de la solicitud d e
ASP.NET y que puede leer o cambiar la soli citud o la respuesta c uando se proc esa.
Los mdu los HT TP se u tilizan con f recuencia para rea lizar t areas e speciales qu e
necesitan supervisar cada solicitud, como estadsticas seguridad o del sitio.
M
Metadatos
Informacin que describe todos
los
elementos administrados
por Common
Language R untime: u n ensambl ado, el arch ivo cargabl e, el ti po, el mtodo, etc.
Esto pu ede in cluir informacin n ecesaria par a la depu racin y la recoleccin de
elementos no utilizados, as como atributos de segu ridad, clculo de referencias de
datos, definiciones ex tendidas de clases y
175
ASP.Net
a los comp onentes IS API con ar reglo a las extensi ones de nombre de archivo
asignadas. IIS y el proceso que
especificada. Los esta dos establecidos que se incluyen con el control de elementos
Web son: catlogo, cone
xin, di seo,
edicin y
expl oracin.
El modo
predeterminado o normal para una pgina Web es explorac in. Los programadores
pueden extender esta caracterstica del modo de presentacin agregando modos de
presentacin person
alizados, qu
e requ
ieren la ex
tensin
de la cl
ase
WebPartManager
Modo integrado
En IIS 7.0, configuracin en l a que IIS y ASP.NET comparten el proc esamiento de
solicitudes en f uncin de u na can alizacin qu e admi te t anto los compon entes
creados con .NET Framework como los componentes nativos. En el modo integrado,
los compon entes de ASP .NET, como los m dulos HT TP, se pu eden u tilizar par a
administrar t odas las solicitudes w eb, in cluso aqullas que no
va n destinadas a
recursos de ASP.NET.
Mdulo (HTTP)
Componente que se puede registrar como p arte de la duracin de la solicitud d e
ASP.NET y que puede leer o cambiar la soli citud o la respuesta c uando se proc esa.
Los mdu los HT TP se u tilizan con f recuencia para rea lizar t areas e speciales qu e
necesitan supervisar cada solicitud, como estadsticas seguridad o del sitio.
N
NET Framework
Componente integral
de Windows que ad
funcionamiento de
176
ET
ASP.Net
de
versin de ASP
encarga de
la comunicacin entre el
explorador y el servidor
P
Pgina ASP.NET
Componente de una aplicacin ASP.NET.
Pgina de contenido (content Page)
Pgina Web que se configura para combinar se con una p gina principal para crear
una pgina completa.
Paginacin
Mecanismo que separa de forma automtica
Forms para disposit ivos mv iles d e ASP .NET en grupos ms pequeos de pgina s
representadas destinadas a encajar co
servidor ASP.N ET. Una plantilla puede pers istir como un archi vo de texto co n una
extensin .ascx. Vea tambin: control de servidor ASP.NET, control con plantilla.
R
Representacin parcial de la pgina
Proceso de actualizar slo una regin de una pgina web durante una devolucin de
datos asincrnica. Esta operaci
n se
177
os control es
ASP.Net
Web
funciones y aplicaciones.
Servicios Web XML
Unidades de lg ica de aplicacion es qu e proporcionan datos y servicios a otras
aplicaciones. L as aplica ciones obt ienen acceso a los se rvicios Web XML media nte
protocolos Web estndar y form
con
Microsoft .NET.
178
de
ASP.Net
SOAP
Protocolo simple basad o en XML para inte rcambiar informacin estructurada y de
tipos en el Web. El protocol o no conti ene semntica de apl icacin ni de transporte,
por lo que resulta muy modular y extensible.
T
Tipo parcial
Un tipo parcial es un tipo
V
Visual Studio SDK
Kit de desarrol lo de software qu e los soci os de VSIP u tilizan para ex tender e l
entorno integrado de desarrollo de Visual Studio.
W
WML
Lenguaje de marcado basado en XML que se utiliza para especificar el contenid o y
la interfaz de usuario de dispositivos de
179