网站导航免费论文 原创论文 论文搜索 作业答案 网学软件 学术大家 资料中心 会员中心 问题解答 定作论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 设计资源 > Silverlight > 正文
基于Silverlight的Live Search网页搜索
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: Admin 发布时间: 10/07/20

准备工作:
请到http://search.live.com/developers申请一个AppID,这个AppID是你访问Live Search的验证信息

用你的hotmail或者msn账号登陆就可以申请了

(以前的Live Search API 1.1 的AppID申请也完成了他的使命,当然大家还可以继续使用以前的AppID来访问1.1版本的Live Search Service啦)

另外大家可以下载最新的SDK: Live Search SDK 2.0 Beta

该SDK包含了API以及示范例子的代码(包括VB和C#版本)

Live Search 2.0共有三种访问协议:

JSON
XML
SOAP
在Live Search的这一系列文章中,我将一直使用SOAP协议来访问,因为其使用C#访问非常便捷

大家可以根据自己的项目的需要使用合适的协议

下面让我们开始

创建一个Silverlight项目
添加一个Service Reference如下

其中Address中的地址格式如下:http://api.search.live.net/search.wsdl?AppID=你申请的AppID

点击Go,如果你输入的地址正确而且有网络连接,应该就能搜索到和上图一样的LiveSearchService

填写你希望的调用的Namespace并点击OK,等待数秒后会弹出如下窗口

不用管它,点OK就可以了查看下这个Service提供的对象接口

 

这里面没有LiveSearchService这个对象,也就是你下载到的SDK中的访问LiveSearchService的方式以及不一样了

(两天前还有的,昨晚我再次尝试的时候就没有了,这样做的原因相必是为了与WCF兼容或者是已经采用WCF来提供Service接口了)

取而代之的是LiveSearchPortTypeClient,大家把它当成WebClient类似的东西就很容易领悟到它的调用方式了

也就是说最新的Document与最新提供的LiveSearchService的接口有些出入,不过我已经把这个问题解决

解决方案:
UI展示代码如下:

点击展开

KeywordsCtl用于搜索词的输入

SearchBtnCtl为搜索按钮

WebNumCtl用来展示共搜索到多少条新闻

WebPanelCtl用于展示得到的搜索结果

其中WebPanelCtl用到了DataBinding(数据绑定)

底层代码:

点击展开

SearchRequest用来定义AppID以及搜索市场,使用的搜索版本等

Query用于提供给LiveSearchService搜索词

Sources用来定义搜索来源,目前共有

Image,InstantAnswer,News,PhoneBook,RelatedSearch,SpellCheck,Web七种,美国市场还有AD

(注意:你在SearchRequest定义了哪几种搜索源,那么SearchResponse的Response类型也就只有那几种)

代码12,13行用于定义SearchResponse返回多少条结果

LiveSearchPortTypeClient通过异步的方式调用初始化的SearchRequest

LiveSearchPortTypeClient将通过SearchCompleted这个事件回传给客户端查询结果,也就是这里的SearchResponse

38行将获得的数据绑定给WebPanelCtl,这样我们就得到了查询的信息了

其中WebInfo对象是用来存储获取的网页信息,其定义如下

namespace LiveSearchWeb4Silverlight  
{  
     public class WebInfo  
     {  
         public string Title { get; set; }  
         public string Description { get; set; }  
         public string PublishDateTime { get; set; }  
         public string OriginalUrl { get; set; }  
         public string DisplayUrl { get; set; }  
     }
  
}

搜索结果预览:

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 电话:013574892963 QQ:3710167 邮箱:Educs@163.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 Www.myeducs.Cn All Rights Reserved
湘ICP备09003080号