博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在客户端调用MOSS的搜索服务,实现更加灵活的搜索控制
阅读量:6984 次
发布时间:2019-06-27

本文共 1839 字,大约阅读时间需要 6 分钟。

MOSS中提供了很多web services的服务,都放在

我们可以在其他地方,比如winForm,webForm中调用,对MOSS的对象进行灵活操作。
下面我简单列一下调用一个MOSS中的搜索服务的方法:
 

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

 2、搜索代码如下:

None.gif
using
 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,如需转载请自行联系原作者

你可能感兴趣的文章
Windows Phone 应用发布技巧汇总
查看>>
centos6.0下安装FTP客户端命令
查看>>
【No.7 C++对象的构造与析构时间】
查看>>
Zabbix如何监控Windows机器
查看>>
SAN存储方式之falconstor实施方案(2)
查看>>
Bokeh快速入门(1)
查看>>
第一天salt stack 笔记
查看>>
读取本机的Java运行环境和相关配置文件的内容
查看>>
leetCode 338. Counting Bits | Dynamic Programming | Medium
查看>>
Linux系统下的RZSZ(文件传输工具)
查看>>
创建 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(76)
查看>>
PostgreSQL中1000分区的继承分区表更新失败的原因
查看>>
快照对于云计算是鸡肋吗?
查看>>
PostgreSQL中如何对应SQL Server中的rowversion
查看>>
第5章选择结构程序设计
查看>>
linux 下网络流量监控
查看>>
[CentOS6] Page allcation failure
查看>>
Visual Studio 11 九大新特性:图文详解
查看>>
Linux Shell之六 流程控制--循环
查看>>
寻湖北荆州刘氏族谱
查看>>