在客户端调用MOSS的搜索服务,实现更加灵活的搜索控制-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

在客户端调用MOSS的搜索服务,实现更加灵活的搜索控制

简介:

MOSS中提供了很多web services的服务,都放在http://<Site>/_vti_bin
我们可以在其他地方,比如winForm,webForm中调用,对MOSS的对象进行灵活操作。

下面我简单列一下调用一个MOSS中的搜索服务的方法:
 

1、在VS2005中加入Web引用,引用地址为http://<Site>/_vti_bin/Search.asmx

 2、搜索代码如下:

None.gifusing System;
None.gif
using System.Data;
None.gif
using System.Configuration;
None.gif
using System.Web;
None.gif
using System.Web.Security;
None.gif
using System.Web.UI;
None.gif
using System.Web.UI.WebControls;
None.gif
using System.Web.UI.WebControls.WebParts;
None.gif
using System.Web.UI.HtmlControls;
None.gif
using System.Text;
None.gif
None.gif
public partial class _Default : System.Web.UI.Page 
ExpandedBlockStart.gif
{
InBlock.gif    
protected void Page_Load(object sender, EventArgs e)
ExpandedSubBlockStart.gif    
{
InBlock.gif        WebService.QueryService query 
= new WebService.QueryService();
InBlock.gif
InBlock.gif        StringBuilder sbXml 
= new StringBuilder();
InBlock.gif        
string keywordString = "测试";
InBlock.gif        sbXml.Append(
"<QueryPacket xmlns='urn:Microsoft.Search.Query'>");
InBlock.gif        sbXml.Append(
" <Query>");
InBlock.gif        sbXml.Append(
"      <SupportedFormats>");
InBlock.gif        sbXml.Append(
"          <Format revision='1'>");
InBlock.gif        sbXml.Append(
"              urn:Microsoft.Search.Response.Document:Document");
InBlock.gif        sbXml.Append(
"          </Format>");
InBlock.gif        sbXml.Append(
"      </SupportedFormats>");
InBlock.gif        sbXml.Append(
"      <Context>");
InBlock.gif
InBlock.gif        
//language可以设置成en-us等不同语言, type可以设成MSSQLFT,表示使用sql查询的格式
InBlock.gif
        sbXml.Append("          <QueryText language='zh-cn' type='STRING'>");
InBlock.gif        sbXml.Append(keywordString);
InBlock.gif        sbXml.Append(
"          </QueryText>");
InBlock.gif        sbXml.Append(
"      </Context>");
InBlock.gif        sbXml.Append(
" </Query>");
InBlock.gif        sbXml.Append(
"</QueryPacket>");
InBlock.gif
InBlock.gif        
//Sharepoint服务默认情况下是关闭匿名访问的,可以使用此方式指定访问时的用户名和密码,
InBlock.gif        
//如果在域里面也可以使用 System.Net.NetworkCredential credentials = System.Net.CredentialCache.DefaultCredentials;
InBlock.gif
        System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("test""test1");
InBlock.gif        query.Credentials 
= credentials;
InBlock.gif
InBlock.gif        
// 返回xml格式的查询结果
InBlock.gif
        string aa = query.Query(sbXml.ToString());
InBlock.gif        
//返回DataSet的查询结果
InBlock.gif
        DataSet set = query.QueryEx(sbXml.ToString());
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif
None.gif 
None.gif
None.gif

取得搜索结果就可以在客户端灵活显示了。



    本文转自永春博客园博客,原文链接:http://www.cnblogs.com/firstyi/archive/2007/02/09/645891.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章