You are on page 1of 8

Tutorial: Conectar a los datos en un servicio Web (Windows F...

http://msdn.microsoft.com/es-es/library/ms171891.aspx?cs-save...

Tutorial: Conectar a los datos en un servicio Web (Windows Forms)


Visual Studio 2012 Este tema an no ha recibido ninguna valoracin En este tutorial se muestra cmo conectar su aplicacin a un servicio Web utilizando Asistente para la configuracin de orgenes de datos. Conectar con el servicio Web Live Search y ejecutar consultas de bsqueda desde la aplicacin. Los datos devueltos por el servicio (los resultados de la bsqueda) se mostrarn en un Windows Form. Las tareas ilustradas en este tutorial incluyen: Crear un proyecto nuevo de Aplicacin para Windows. Agregar una referencia de servicio a una aplicacin (conectar con el servicio Live Search). Agregar controles para ejecutar consultas de bsqueda (mtodos de llamada expuestos por el servicio). Escribir cdigo para tener acceso a los datos devueltos y de servicio. Enlazar los datos devueltos del servicio a BindingSource. Mostrar los datos devueltos del servicio en una cuadrcula.

Obtener un AppID
Un AppID de Live Search est disponible de forma gratuita e identifica de manera nica la aplicacin en el servicio Live Search. El AppID es necesario para tener acceso al servicio.

Para obtener un AppID


Navegue hasta http://search.live.com/developer y obtenga un AppID gratuito Nota Podra tardar un tiempo (30-60 minutos) la validacin del AppID con el servicio. Si se produce un 'Error de cliente' genrico en este tiempo al ejecutar la aplicacin, es probable que el AppID todava est en proceso de habilitarse en los servidores de Live Search. 1 de 8 17/10/2013 09:06 AM

Tutorial: Conectar a los datos en un servicio Web (Windows F...

http://msdn.microsoft.com/es-es/library/ms171891.aspx?cs-save... proceso de habilitarse en los servidores de Live Search.

Crear el proyecto
Para crear el nuevo proyecto
1. En el men Archivo, cree un nuevo proyecto. 2. Seleccione Aplicacin de Windows Forms y asgnele el nombre WebServiceWalkthrough. 3. Haga clic en Aceptar. El proyecto se crea y se agrega al Explorador de soluciones.

Conectarse al servicio
Conecte con el servicio Web ejecutando el Asistente para la configuracin de orgenes de datos.

Para conectarse con el servicio Web Live Search


1. En el men Datos, haga clic en Mostrar orgenes de datos. 2. En la ventana Orgenes de datos, seleccione Agregar nuevo origen de datos. 3. Seleccione Servicio en la pgina Elegir un tipo de origen de datos y haga clic en Siguiente. 4. Escriba http://soap.search.msn.com /webservices.asmx?wsdl en el cuadro Direccin URL del cuadro de dilogo Agregar referencia de servicio. 5. Haga clic en Ir. 6. Una vez encontrado el servicio Web, cambie el espacio de nombres por LiveSearchService. 7. Haga clic en Aceptar y, a continuacin, en Finalizar para agregar la referencia al servicio a su proyecto. La referencia al servicio se agrega al proyecto y la ventana Orgenes de datos se rellena dependiendo de los elementos devueltos por el servicio.

2 de 8

Nota

17/10/2013 09:06 AM

Tutorial: Conectar a los datos en un servicio Web (Windows F...

http://msdn.microsoft.com/es-es/library/ms171891.aspx?cs-save...

Nota Como diferentes servicios Web exponen funcionalidad diferente, los siguientes pasos de este tutorial son especficos del uso del servicio Web Live Search. El proceso tpico para utilizar los datos de un servicio es crear una instancia del servicio y, a continuacin, llamar a los mtodos expuestos por el servicio. Despus de arrastrar los elementos de la ventana Orgenes de datos, el formulario debera contener un componente BindingSource; establezca la propiedad DataSource en los datos devueltos por el servicio.

Crear un DataGridViews para mostrar los datos devueltos por el servicio


Cree una cuadrcula de datos enlazada a datos arrastrando elementos de la ventana Orgenes de datos al formulario. Despus de agregar la cuadrcula, configure las columnas para mostrar solo las que deseamos presentar. A continuacin, establezca la columna URL en un vnculo de modo que los usuarios puedan hacer clic la direccin url y navegar a los sitios web devueltos por la consulta de bsqueda.

Para crear DataGridView enlazados a datos


1. Expanda el nodo SearchResponse en la ventana Orgenes de datos. 2. Expanda el nodo Responses. 3. Arrastre el nodo Results al formulario. Un control DataGridView, BindingSource y BindingNavigator se agregan al formulario. 4. Seleccione resultsDataGridView que se agreg al formulario. 5. En la ventana Propiedades, seleccione la propiedad Columnas y, a continuacin, haga clic en el botn de puntos suspensivos para abrir Editar columnas (Cuadro de dilogo, Vista Diseo). 6. Seleccione la columna URL y establezca: a. la propiedad ColumnType en DataGridViewLinkColumn. b. la propiedad AutoSizeMode en AllCells. 3 de 8 17/10/2013 09:06 AM

Tutorial: Conectar a los datos en un servicio Web (Windows F...

http://msdn.microsoft.com/es-es/library/ms171891.aspx?cs-save...

b. la propiedad AutoSizeMode en AllCells. 7. Quite todas las columnas excepto Title, Description y URL. 8. Haga clic en Aceptar.

Agregar controles para escribir los criterios de bsqueda y ejecutar la consulta de bsqueda
Agregue los controles a la tira de herramientas existente para ejecutar las consultas de bsqueda.

Para agregar un botn y un cuadro de texto al formulario


1. Haga clic con el botn secundario en el icono de disco deshabilitado en la tira de la herramienta del formulario y seleccione Insertar seguido por TextBox. 2. En la ventana Propiedades, establezca la propiedad Nombre en searchCriteriaTextBox. 3. Establezca la propiedad Text en Visual Studio. 4. Agregue un botn a la tira de herramientas y denomnelo searchButton. 5. En la ventana Propiedades, establezca la propiedad DisplayStyle en Text. 6. Cambie la propiedad Text a Search.

Crear un controlador de eventos para abrir el sitio web en el que se hizo clic en la cuadrcula
Agregue un controlador de eventos para el evento CellContentClick.

Para crear el controlador de eventos CellContentClick


4 de 8 1. Seleccione el control resultsDataGridView en el formulario y haga clic en el botn Eventos en la ventana 17/10/2013 09:06 AM

Tutorial: Conectar a los datos en un servicio Web (Windows F...

http://msdn.microsoft.com/es-es/library/ms171891.aspx?cs-save...

1. Seleccione el control resultsDataGridView en el formulario y haga clic en el botn Eventos en la ventana Propiedades. El botn Eventos es el botn con el icono de rayo. 2. Haga doble clic en el evento CellContentClick para crear y navegar hasta el cdigo auxiliar del controlador. 3. Agregue el cdigo para comprobar en qu columna se hizo clic y para navegar hasta la pgina web si se hace clic en la columna URL: VB

Private Sub ResultsDataGridView_CellContentClick( _ ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.DataGridViewCell Handles ResultsDataGridView.CellContentClick

' When the content in a cell is clicked check to ' If it is, pass the url to the Process.Start me If ResultsDataGridView.Columns(e.ColumnIndex).Da System.Diagnostics.Process.Start(ResultsData End If End Sub

Agregar cdigo de acceso al servicio Live Search y ejecutar una consulta de bsqueda
Obtenga acceso al servicio creando instancias de una instancia del servicio en su aplicacin y llamando a los mtodos expuestos por el servicio.

Para obtener acceso y utilizar el servicio


1. Abra Form1 en el Editor de cdigo. 2. Agregue el mtodo siguiente a Form1: VB

Private Sub RunSearchRequest()

5 de 8

' Create an instance of the service. Dim searchService As New LiveSearchService.MSNSe 17/10/2013 09:06 AM

Tutorial: Conectar a los datos en un servicio Web (Windows F...

http://msdn.microsoft.com/es-es/library/ms171891.aspx?cs-save...

' Create an instance of the service. Dim searchService As New LiveSearchService.MSNSe

' Instantiate a new SearchRequest. Dim searchRequest As New LiveSearchService.Searc

' Create a new SourceRequest. Dim sourceRequest(1) As LiveSearchService.Source sourceRequest(0) = New LiveSearchService.SourceR

' To search the web, set the SourceType to Web. sourceRequest(0).Source = LiveSearchService.Sour

' Set the columns you want the query to return. sourceRequest(0).ResultFields = _ LiveSearchService.ResultFieldMask.Descriptio LiveSearchService.ResultFieldMask.Url LiveSearchService.ResultFieldMask.Title

' Search for the text in the textbox. searchRequest.Query = searchCriteriaTextBox.Text

' Set the SearchRequest to the SourceRequest arr searchRequest.Requests = sourceRequest

' Replace with a valid AppID. Obtain a free AppI ' http://search.live.com/developer searchRequest.AppID = "AppID" searchRequest.CultureInfo = "en-US"

' Create a SearchResponse, then call the Search ' and assign the return value to the response ob Dim searchResponse As LiveSearchService.SearchRe searchService.Search(searchRequest)

' Bind the results to the form's BindingSource. ResultsBindingSource.DataSource = searchResponse End Sub

Nota Asegrese de reemplazar searchRequest.AppID = "AppID" por el valor AppID obtenido del servicio Live Search.

6 de 8

Crear un controlador de eventos para ejecutar una bsqueda cuando se hace clic en el botn de bsqueda 17/10/2013 09:06 AM

Tutorial: Conectar a los datos en un servicio Web (Windows F...

http://msdn.microsoft.com/es-es/library/ms171891.aspx?cs-save...

cuando se hace clic en el botn de bsqueda


Cree un controlador de eventos para el evento searchButton.Click y llame al mtodo RunSearchRequest.

Para implementar la bsqueda cuando se hace clic en el botn


1. Abra Form1 en la vista de diseo. 2. Haga doble clic en el botn Buscar. 3. Agregue la siguiente lnea de cdigo al controlador de eventos: VB

Private Sub searchButton_Click(ByVal sender RunSearchRequest() End Sub

Ejecutar la aplicacin
Ejecute la aplicacin y realice una bsqueda.

Para ejecutar la aplicacin y realizar una bsqueda.


1. Ejecute la aplicacin (presione F5). 2. Haga clic en Buscar para buscar en la Web Visual Studio, texto predeterminado de searchCriteriaTextBox. La cuadrcula muestra los primeros diez resultados de la bsqueda. 3. Haga clic en una de las direcciones URL para navegar hasta ese sitio web. 4. Escriba Redmond WA Weather en el cuadro de texto y haga clic en Buscar. La cuadrcula se actualiza con los nuevos resultados de la bsqueda.

7 de 8

Pasos siguientes

17/10/2013 09:06 AM

Tutorial: Conectar a los datos en un servicio Web (Windows F...

http://msdn.microsoft.com/es-es/library/ms171891.aspx?cs-save...

Pasos siguientes
Tener acceso al servicio Live Search solo se considera un punto de partida para entender cmo mostrar los datos devueltos de un servicio que utiliza las caractersticas de enlace de datos en aplicaciones de Windows Forms. Despus de conectar con un servicio diferente y de arrastrar los elementos de la ventana Orgenes de datos, su formulario debera contener un componente BindingSource; establezca la propiedad DataSource en los datos devueltos por el servicio. Para obtener ms informacin, vea Informacin general sobre el componente BindingSource. Nota Los elementos que aparecen en la ventana Orgenes de datos son dependientes de la informacin que devuelve el servicio Web. Algunos servicios Web podran no proporcionar suficiente informacin para que el Asistente para la configuracin de orgenes de datos pueda crear objetos enlazables. Por ejemplo, si el servicio Web devuelve un objeto que no proporciona ningn esquema reconocible, ningn elemento aparecer en la ventana Orgenes de datos cuando se complete el asistente.

Para agregar funcionalidad a la aplicacin


Seleccione elementos en la ventana Orgenes de datos y arrstrelos a un formulario. Para obtener ms informacin, vea Enlazar controles de Windows Forms a datos en Visual Studio. Cree una instancia del servicio en el formulario. Establezca la propiedad DataSource generada en los datos devueltos por el servicio Web.

8 de 8

17/10/2013 09:06 AM

You might also like