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

简介:

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

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

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

 2、搜索代码如下:

using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Text;

public  partial  class  _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        WebService.QueryService query 
= new WebService.QueryService();

        StringBuilder sbXml 
= new StringBuilder();
        
string keywordString = "测试";
        sbXml.Append(
"<QueryPacket xmlns='urn:Microsoft.Search.Query'>");
        sbXml.Append(
" <Query>");
        sbXml.Append(
"      <SupportedFormats>");
        sbXml.Append(
"          <Format revision='1'>");
        sbXml.Append(
"              urn:Microsoft.Search.Response.Document:Document");
        sbXml.Append(
"          </Format>");
        sbXml.Append(
"      </SupportedFormats>");
        sbXml.Append(
"      <Context>");

        
//language可以设置成en-us等不同语言, type可以设成MSSQLFT,表示使用sql查询的格式
        sbXml.Append("          <QueryText language='zh-cn' type='STRING'>");
        sbXml.Append(keywordString);
        sbXml.Append(
"          </QueryText>");
        sbXml.Append(
"      </Context>");
        sbXml.Append(
" </Query>");
        sbXml.Append(
"</QueryPacket>");

        
//Sharepoint服务默认情况下是关闭匿名访问的,可以使用此方式指定访问时的用户名和密码,
        
//如果在域里面也可以使用 System.Net.NetworkCredential credentials = System.Net.CredentialCache.DefaultCredentials;
        System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("test""test1");
        query.Credentials 
= credentials;

        
// 返回xml格式的查询结果
        string aa = query.Query(sbXml.ToString());
        
//返回DataSet的查询结果
        DataSet set = query.QueryEx(sbXml.ToString());
    }

}


 


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



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

相关文章
|
6月前
|
前端开发 JavaScript 应用服务中间件
百度搜索:蓝易云【服务器如何配置支持history模式】
配置完毕后,服务器将会将所有请求重定向到你的应用的index.html文件,使得history模式能够正常运行。这样,当用户在浏览器中直接访问子路径时,服务器会正确地返回index.html,并由前端路由接管处理。
92 1
做了一个电驴 p2p资源搜索小软件
做了一个电驴 p2p资源搜索小软件
122 0
|
小程序 数据库
小程序搜索功能,云开发搜索,小程序云开发模糊搜索,同时搜索多个字段
小程序搜索功能,云开发搜索,小程序云开发模糊搜索,同时搜索多个字段
276 0
|
前端开发 JavaScript 数据库
饿了么ui自带的两种远程搜索(模糊查询)用法讲解
饿了么ui自带的两种远程搜索(模糊查询)用法讲解
473 0
|
小程序
小程序实战之搜索框组件的封装与模糊搜索的实现
点击搜索框,跳转到搜索页,输入搜索词,可以获取到相关信息并渲染,从设计上来讲,整个需求需要拆分为两个核心步骤即搜索框组件封装与模糊搜索,下面将从这两部分来讲。
388 0
小程序实战之搜索框组件的封装与模糊搜索的实现
|
前端开发 小程序 关系型数据库
小程序中实现搜索功能
小程序中实现搜索功能
小程序中实现搜索功能
|
数据库
通过互联网搜索接口更新拼写语法库的设计
通过互联网搜索接口更新拼写语法库的设计
72 0
一款基于tampermonkey的浏览器插件:聚合搜索
一款基于tampermonkey的浏览器插件:聚合搜索
224 0
一款基于tampermonkey的浏览器插件:聚合搜索