本文整理汇总了C#中DigitalPlatform.rms.Client.RmsChannel.DoGetSearchFullResult方法的典型用法代码示例。如果您正苦于以下问题:C# RmsChannel.DoGetSearchFullResult方法的具体用法?C# RmsChannel.DoGetSearchFullResult怎么用?C# RmsChannel.DoGetSearchFullResult使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DigitalPlatform.rms.Client.RmsChannel
的用法示例。
在下文中一共展示了RmsChannel.DoGetSearchFullResult方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SearchAndBrowse
/// <summary>
/// 检索并获取浏览结果
/// </summary>
/// <param name="strServerUrl">服务器URL。如果==""或者==null,表示用this.ServerUrl</param>
/// <param name="strQueryXml"></param>
/// <param name="bGetBrowseCols">是否要获得浏览列</param>
/// <param name="strError"></param>
/// <returns>-2 用户中断;-1 一般错误;0 未命中; >=1 正常结束,返回命中条数</returns>
public long SearchAndBrowse(
string strServerUrl,
string strQueryXml,
bool bGetBrowseCols,
out string strError)
{
strError = "";
if (strServerUrl == null || strServerUrl == null)
strServerUrl = this.ServerUrl;
RmsChannel channelSave = channel;
channel = Channels.GetChannel(strServerUrl);
if (channel == null)
{
strError = "get channel error";
return -1;
}
try
{
// 检索
long lRet = channel.DoSearch(strQueryXml,
"default",
"", // strOuputStyle
out strError);
if (lRet == -1)
return -1;
if (lRet == 0)
return 0;
// 循环获取结果
long nHitCount = lRet;
long nStart = 0;
long nCount = 10;
long nIndex = 0;
for(;;)
{
Application.DoEvents(); // 出让界面控制权
if (stop != null)
{
if (stop.State != 0)
{
strError = "用户中断";
return -2;
}
}
List<string> aPath = null;
ArrayList aLine = null;
if (bGetBrowseCols == false)
{
lRet = channel.DoGetSearchResult(
"default",
nStart,
nCount,
"zh",
this.stop,
out aPath,
out strError);
}
else
{
lRet = channel.DoGetSearchFullResult(
"default",
nStart,
nCount,
"zh",
this.stop,
out aLine,
out strError);
}
if (lRet == -1)
{
strError = "获取检索结果时出错: " + strError;
return -1;
}
if (bGetBrowseCols == false)
nStart += aPath.Count;
else
nStart += aLine.Count;
// 触发事件
if (this.BrowseRecord != null)
//.........这里部分代码省略.........