Blog de Jorge Pedraza

agosto 9, 2009

Usando Bing desde ASP.NET

Filed under: Aplicaciones Web — JorgePedraza @ 3:29 pm
Tags: , , , ,

Los buscadores son los principales medios de ayuda de los usuarios al momento de  buscar determinada información en la internet. Ya son conocido varios de esto buscadores que brinda servicios a diario; entre ellos se meciona Bing.

Bing es una de lo más reciente y versatil motor de búsqueda que se encuentra en la internet, el cual brinda multiples servicios. Con Bing encontramos posibilidades infinita de reutilizar sus servicios a través del desarrollo de aplicaciones en diferentes tecnologías.

Un escenario interesante seria que nuestras soluciones web; tal es el caso de ASP.NET se equipe con capacidades universal de búsqueda. Entonce para comenzar a desarrollar una solución ASP.NET con busqueda basada en Bing, se necesita de lo siguiente:

  1. Selecionamos uno de los protocolo de trabajo de Bing (SOAP):
  2. Para fines de este articulo se selecciona SOAP, y se crea una solución Web del tipo ASP.NET con Visual Studio 2005 o Superior.
  3. Se crea un AppID, el cual permitira a tu solución Web consumir el Servicio Bing, para mayor información pulsa aquí: Crear  AppID
  4. Se agrega un referencia Web enVisual Studio: desde el explorador de soluciones se pulsa boton derecho y el menu contextual se da click en  Agregar Referencia Web (Visual Studio)
  5. Desde la ventana de dialogo de Agregar Referencia Web, escriba la siguiente dirección en el cuadro de texto URL: http://api.bing.net/search.wsdl?AppID=TúAppId&Version=2.2 donde dice TúAppId, sera remplazado con tu AppId generado previamente en el portal de desarrollo de Bing.
  6. Se da click en Ir
  7. Puede aceptar el nombre de la referencia Web predeterminada net.bing.api sugerida en el cuadro de texto de nombre de la referencia de Web, o escriba su propio nombre de referencia Web en el cuadro de texto.
  8. Se seleciona un Origen de Tipo (TypeSource), Un TypeSource es una fuente de información accesible desde API:
  9. Para trabajar con cualquier TypeSource se require fijar los siguientes parametros desde Codigo .NET:
  10. Para fines de este articulo se selecciona Web SourceType (Bing, Version 2) .
  11. Luego desde una pagina aspx, colocamos controles web elementales para fines de este articulo, como: TextBox(txtSearch) , Button(btnsearch), Label(lblInformation).
  12. Se realiza Imports del namespace de la clase proxy del Servicio Bing previamente configurado en Visual Studio; situando dicho namespace a raíz de la clase (.vb) de la pagina aspx.
  13. Desde el Button(btnSearch) colocamos el codigo .NET base para nuestro proposito (Visual Basic 2008):
  14.  Dim SBing As New BingService
            Try
                Dim Solicitud As New SearchRequest  ‘ Aquí se declara y configura la solicitud de busqueda.
                solicitud.AppId = “TúAppId
                solicitud.Query = Me.txtSearch.Text
                solicitud.Sources = New SourceType() {SourceType.Web}
                solicitud.Version = “2.0”
                solicitud.Market = “es-es”
                solicitud.Options = New SearchOption() {SearchOption.EnableHighlighting}
                solicitud.Web = New WebRequest
                solicitud.Web.Count = 10                          ‘ Aquí establece el resultado de 10 registros por pagina.
                solicitud.Web.CountSpecified = True
                solicitud.Web.Offset = 0                             ‘ Aquí establece el inicio del registro de la pagina.
                solicitud.Web.OffsetSpecified = True
                solicitud.Web.Options = New WebSearchOption() {WebSearchOption.DisableHostCollapsing, WebSearchOption.DisableQueryAlterations}

                Dim Respuesta As SearchResponse = SBing.Search(solicitudAquí se declara y se recupera todo los resultados de la Búsqueda
               
    Dim listCad As New Text.StringBuilder
                listCad.AppendLine(“Bing API Version ” & Respuesta.Version)
                listCad.AppendLine(“Resultado Web para: ” & Respuesta.Query.SearchTerms)
                listCad.AppendLine(String.Format(“Mostrado {0} hasta {1} de {2} Resultado(s)”, Respuesta.Web.Offset + 1, Respuesta.Web.Offset + Respuesta.Web.Results.Length, Respuesta.Web.Total))

                lblInformation.Text =  ListCad.ToString   

            Catch ex As System.Web.Services.Protocols.SoapException ‘Cuando se produce una Excepción SOAP, muestra detalle del Error

            Catch ex As System.Net.WebException ‘Cualquier Excepción ocurrida mientras se acede a la red

            Finally
                SBing.Dispose()
            End Try

Ahora con esta opción de desarrollo nuestras soluciones web pueden estar vinculada con el servicio de búsqueda de Bing. También  se puede adoptar de igual forma este patrón para otros tipos de aplicaciones como Windows, Mobile, Otros Servicios etc. Finalmente se puede mejorar esta solución aplicado sofisticado mecanismo de paginación, así como recepción de datos en modo asíncrono.

Para Mayor Información sobre el Tema visita : Bing Services 

Anexo Codigo Fuente en Visual Basic 2008 para más enfoque: BingASPNET (Recuerda Generar su propio AppId, para su uso)

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

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

Logo de WordPress.com

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

Imagen de Twitter

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

Foto de Facebook

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

Google+ photo

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

Conectando a %s

Blog de WordPress.com.

A %d blogueros les gusta esto: