Está en la página 1de 8

Libre Configuración Curricular.

1/8
Programación Orientada a Objetos con Herramientas Visuales

Ejercicios básicos de aplicaciones Web


Ejercicios básicos de aplicaciones Web ..............................................................................................................1
HolaMundoWeb...................................................................................................................................................1
CalculadoraWeb ..................................................................................................................................................3
ElTiempoWeb......................................................................................................................................................4
UsuariosDiaryWeb...............................................................................................................................................6
Sesion7Web ........................................................................................................................................................8

HolaMundoWeb
El objetivo de este primer ejercicio es hacer una aplicación web que acceda al servicio web HolaMundoWS
desarrollado en la sesión 4 del curso.
El interfaz de la aplicación es el que se muestra en la figura 1.

Figura 1

Los pasos a seguir son:


1) Comprobar que el servicio web funciona correctamente desde Internet Explorer
2) Añadir el directorio virtual “HolaMundoWeb” al IIS
3) Crear un solución “sesion 7” y añadir un nuevo proyecto web asp.net llamado “HolaMundoWeb”
4) Agregar un web form con el aspecto de la figura 1
Libre Configuración Curricular. 2/8
Programación Orientada a Objetos con Herramientas Visuales

5) Crear una hoja de estilos corporativa y añadirla al web form


6) Crear una referencia al servicio web y almacenarla en una variable de sesión. El código para hacer esto
es:

protected localhost.HolaMundoWS ws
{
get
{
localhost.HolaMundoWS result;
if (Session["ws"] != null)
result = (localhost.HolaMundoWS)Session["ws"];
else
{
result = new localhost.HolaMundoWS();
result.CookieContainer = new System.Net.CookieContainer();
result.Credentials = System.Net.CredentialCache.DefaultCredentials;
Session["ws"] = result;
}
return result;
}
}

7) Añadir código al evento de los botones:

private void holaBtn_Click(object sender, System.EventArgs e)


{
holaLbl.Text = ws.HelloWorld();
}

private void adiosBtn_Click(object sender, System.EventArgs e)


{
adiosLbl.Text = ws.ByeWorld();
}

8) Probar la misma aplicación con los servicios web del ordenador del profesor y de un compañero
Libre Configuración Curricular. 3/8
Programación Orientada a Objetos con Herramientas Visuales

CalculadoraWeb
El objetivo de este ejercicio es afianzar los conocimientos adquiridos en el ejercico anterior y aprender a manejar
excepciones (cuando los números introducidos son demasiado grandes y cuando se intenta dividir por cero)
El interfaz de la aplicación es el que se muestra en la figura 2.

Figura 2

Los pasos a seguir son:


1) Comprobar el servicio web, crear el nuevo directorio virtual “CalculadoraWeb” y agregar un nuevo
proyecto asp.net a la solución actual llamado “CalculadoraWeb”
2) Agregar un formulario y darle el aspecto de la figura 2
3) Añadir la referencia y crear una propiedad que almacene el servicio web en el estado de la sesion.
4) Añadir código a los eventos
5) Probar la misma aplicación con los servicios web del ordenador del profesor y de un compañero
¿Cómo maneja las excepciones antes indicadas? La respuesta en el laboratorio.
Libre Configuración Curricular. 4/8
Programación Orientada a Objetos con Herramientas Visuales

ElTiempoWeb
El objetivo de este ejercicio es hacer una aplicación web que se conecte a un servicio web desarrollado por
terceras personas. En esta práctica se aprenderá a deserializar archivos XML.
El interfaz de la aplicación es el que se muestra en la figura 3:

Figura 3

Los pasos a seguir son:


1) Crear el directorio virtual y añadir un nuevo proyecto “ElTiempoWeb”
Libre Configuración Curricular. 5/8
Programación Orientada a Objetos con Herramientas Visuales

2) Crear un formulario con el aspecto de la figura 3


3) Agregar las referencia web y almacenarla en el estado de la sesión
4) Crear una clase para almacenar los valores devueltos por el servicio web:
[Serializable()]
public class CurrentWeather
{
public CurrentWeather(){}
public string Location;
public string Time;
public string Wind;
public string Visibility;
public string Temperature;
public string DewPoint;
public string RelativeHumidity;
public string Pressure;
public string Status;
}

5) Crear una propiedad “currentWeather” para almacenar en el estado de sesión el valor devuelto por el
servico web.
6) Añadir código a los eventos. Para deserializar la cadena XML devuelta por el servicio web escriba el
siguiente código:
private void crearBtn_Click(object sender, System.EventArgs e)
{
string filename = @"F:\usr\...” //ruta del directorio virtual
StreamWriter swFromFile = new StreamWriter(filename,false,System.Text.Encoding.Unicode);
swFromFile.Write(resultTxt.Text);
swFromFile.Flush();
swFromFile.Close();

XmlSerializer serializer = new XmlSerializer(typeof(CurrentWeather));


FileStream fs = new FileStream(filename, FileMode.Open);

currentWeather = (CurrentWeather) serializer.Deserialize(fs);


fs.Close();
rellenaTabla();
}

¿Qué espacios de nombres tiene que añadir a su proyecto?


Libre Configuración Curricular. 6/8
Programación Orientada a Objetos con Herramientas Visuales

UsuariosDiaryWeb
El objetivo de este ejercicio es desarrollar una aplicación web para poder ver y añadir usuarios a la base de
datos DiaryDB vista en el sesión 6. Asimismo, se hace una introducción al control datagrid para formularios web.
El interfaz de la aplicación es el que se muestra en la figura 4:

Figura 4

Los pasos a seguir son los siguientes:


1) Añada al servicio web “DiaryWS” hecho en la sesión 6 las operaciones getUsers para obtener el dataset
de todos los usuarios y changeUsers para guardar los cambios realizados en dicho dataset. (Recuerde
cómo lo ha hecho para retrieveNotes y changeNotes)
2) Pruebe getUsers desde Internet Explorer
3) Cree el directorio virtual y añada el proyecto “UsuariosDiaryWeb”
4) Cree un formulario con el aspecto de la figura 4
5) ree propiedades para almacenar en el estado de sesión tanto la referencia al servicio web “DiaryWS”
(ws) como el valor devuelto por getUsers (usersDataSet)
Libre Configuración Curricular. 7/8
Programación Orientada a Objetos con Herramientas Visuales

6) Añada código a los eventos


7) Para rellenar el datagrid con el resultado de getUsers escriba:
private void usuariosBtn_Click(object sender, System.EventArgs e)
{
usuariosDtg.DataSource = usersDataSet;
usuariosDtg.DataMember = "Users";
usuariosDtg.DataBind();
}

8) Para añadir un nuevo usuario el código sería:


private void añadirBtn_Click(object sender, System.EventArgs e)
{
try
{
if (nuevoPass1Txt.Value == nuevoPass2Txt.Value)
{
localhost.usersDts.UsersRow r;
r = usersDataSet.Users.NewUsersRow();
r.BeginEdit();
r.login = nuevoLogTxt.Text;
r.password = nuevoPass1Txt.Value;
r.name = nuevoNomTxt.Text;
r.EndEdit();
usersDataSet.Users.AddUsersRow(r);
ws.changeUsers(usersDataSet);
}
else
{
throw new Exception ("Las contraseñas no coinciden");
}
}
catch ( System.Data.ConstraintException)
{
throw new Exception("Claves de usuario repetidas");
}
}

9) Ejecute la aplicación web utilizando los servicios web del profesor y de un compañero
Libre Configuración Curricular. 8/8
Programación Orientada a Objetos con Herramientas Visuales

EjerciciosWeb
El objetivo de este ejercicio es hacer una aplicación web con frames para centralizar todos los ejercicios hecho
durante esta sesión.
El interfaz de esta aplicación es el que se muestra en la figura 5

Figura 5

Los pasos a seguir son:


1) Crear el directorio virtual para albergar la aplicación “EjerciciosWeb”
2) Establecer como formulario de inicio una página html que defina los marcos de nuestra aplicación. Para
esto puede utilizar el asistente que proporciona visual studio. (Agregar -> nuevo elemento -> conjunto de
marcos)
3) Cree la página aspx con los botones del menú
4) Para redireccinar una página web a un marco puede utilizar la siguiente función
public void redirect(string page, string frame)
{
Response.Write("<script>window.open(\"" + page + "\", \"" + frame + "\");</script>");
}

5) Para los eventos de los botones del menú el código queda de la siguiente forma:
private void holaMundoBtn_Click(object sender, System.EventArgs e)
{redirect("http://localhost/HolaMundoWeb","main");}

También podría gustarte