如何使用 ASP.NET 应用程序以使用 Visual C#.NET 来查询索引服务目录
2014-06-25 00:00
806 查看
摘要: 本分步指南介绍了如何创建索引服务目录。本文还介绍如何使用 ASP.NET Web 应用程序对查询索引服务目录。
展开服务和应用程序。
用鼠标右键单击索引服务,指向新建,然后单击目录。
在名称文本框中,键入TestCatalog。
单击浏览,找到您希望放置目录(例如C:\TestIndexService),的文件夹,然后单击确定两次。
在创建新目录,您会收到以下消息:索引服务重新启动之前,编录将保持离线单击确定。
右键单击索引服务,然后单击停止以停止索引服务。
右键单击索引服务,然后单击启动以重新启动索引服务。
双击TestCatalog (您在"创建测试文件夹"一节中创建的目录)。
用鼠标右键单击目录,指向新建,然后单击目录。
单击浏览,然后单击您想要添加 (C:\TestIndexService\0),该文件夹,然后单击确定。
注意:在下,包含在索引中的?,单击是。
2.使用 Visual C#.NET 创建一个新的ASP.NET Web 应用程序项目。IndexQueryApp为项目命名。默认情况下,会创建 Default.aspx。
3.在设计视图中,用鼠标右键单击Default,然后单击查看 HTML 源。
4.现有的 HTML 代码替换为下面的代码示例:
5.在解决方案资源管理器中,用鼠标右键单击Default,然后单击查看代码。现有代码替换为下面的代码示例:
6.在生成菜单中,单击生成解决方案。
在文本框中键入查询的 word文档。(您可以键入txt文件中的任何单词。
单击按钮。请注意数据网格出现,其中包含txt文件的查询结果。
若要验证索引的状态,请先单击计算机管理管理单元的右窗格中,索引服务然后验证 TestCatalog 的单词列表值是否大于零。如果单词列表值为零,等待以生成列表的索引。
单击开始,指向设置,然后单击控制面板。
双击管理工具,然后双击计算机管理。
在控制台树中,双击服务和应用程序。
右键单击索引服务,然后单击停止。
再次右键单击索引服务,然后单击开始。
原文可参考 http://support.microsoft.com/kb/820983/zh-cn
创建一个测试文件夹
在您的计算机的 C 驱动器上创建一个新文件夹。名称文件夹TestIndexService,目录下建文件夹为0,然后添加txt文件并写上内容。创建索引服务目录
单击开始,单击运行,键入compmgmt.msc,,然后单击确定。展开服务和应用程序。
用鼠标右键单击索引服务,指向新建,然后单击目录。
在名称文本框中,键入TestCatalog。
单击浏览,找到您希望放置目录(例如C:\TestIndexService),的文件夹,然后单击确定两次。
在创建新目录,您会收到以下消息:索引服务重新启动之前,编录将保持离线单击确定。
右键单击索引服务,然后单击停止以停止索引服务。
右键单击索引服务,然后单击启动以重新启动索引服务。
定义编录的范围
创建新编录后,添加您想要包括在编录的范围中的文件夹。作用域是包含在目录中,并从编录中排除的文件夹组。范围定义的内容包含在索引中并从索引中排除。包含或排除的每个文件夹中,为其所有子文件夹也要包含或排除。双击TestCatalog (您在"创建测试文件夹"一节中创建的目录)。
用鼠标右键单击目录,指向新建,然后单击目录。
单击浏览,然后单击您想要添加 (C:\TestIndexService\0),该文件夹,然后单击确定。
注意:在下,包含在索引中的?,单击是。
创建 ASP.NET Web 应用程序
1.启动 Microsoft Visual Studio.NET。2.使用 Visual C#.NET 创建一个新的ASP.NET Web 应用程序项目。IndexQueryApp为项目命名。默认情况下,会创建 Default.aspx。
3.在设计视图中,用鼠标右键单击Default,然后单击查看 HTML 源。
4.现有的 HTML 代码替换为下面的代码示例:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/ 8000 xhtml1-transitional.dtd"> <html> <head> <title>WebForm3</title> <meta name="GENERATOR" content="Microsoft Visual Studio 7.0"> <meta name="CODE_LANGUAGE" content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </head> <body ms_positioning="GridLayout"> <form id="WebForm3" method="post" runat="server"> <asp:TextBox ID="TextBox1" Style="z-index: 101; left: 90px; position: absolute; top: 136px" runat="server"></asp:TextBox> <asp:DataGrid ID="DataGrid1" Style="z-index: 102; left: 328px; position: absolute; top: 138px" runat="server"> </asp:DataGrid> <asp:Button ID="Button1" Style="z-index: 103; left: 92px; position: absolute; top: 199px" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button> </form> </body> </html>
5.在解决方案资源管理器中,用鼠标右键单击Default,然后单击查看代码。现有代码替换为下面的代码示例:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { // Catalog Name string strCatalog = "TestCatalog"; string strQuery = ""; //strQuery = "Select DocTitle,Filename,Size,PATH,URL from Scope() where FREETEXT('" + TextBox1.Text + "')"; strQuery = "Select DocTitle,Filename,Size,PATH,URL from Scope() where CONTAINS(Contents,'" + TextBox1.Text + "')"; // TextBox1.Text is the word that you type in the text box to query by using Indexing Service. string connstring = "Provider=MSIDXS.1;Integrated Security .='';Data Source=" + strCatalog; System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(connstring); conn.Open(); System.Data.OleDb.OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter(strQuery, conn); System.Data.DataSet testDataSet = new System.Data.DataSet(); cmd.Fill(testDataSet, "SearchResults"); System.Data.DataView source = new System.Data.DataView(testDataSet.Tables[0]); DataGrid1.DataSource = source; DataGrid1.DataBind(); } }
6.在生成菜单中,单击生成解决方案。
运行应用程序
在调试菜单上,单击开始运行该应用程序。在文本框中键入查询的 word文档。(您可以键入txt文件中的任何单词。
单击按钮。请注意数据网格出现,其中包含txt文件的查询结果。
解决问题
等待要生成的索引
索引服务会自动处理 TestCatalog,并准备进行索引的单词列表。在运行示例代码时,可能看不到结果,因为索引服务需要一些时间来建立索引的快速。若要验证索引的状态,请先单击计算机管理管理单元的右窗格中,索引服务然后验证 TestCatalog 的单词列表值是否大于零。如果单词列表值为零,等待以生成列表的索引。
索引数据可能已损坏
如果搜索没有返回预期的搜索结果,查询索引时,索引数据可能已损坏。若要解决此问题,请停止并重新启动索引服务,以重新编制所有文档的都索引。若要执行此操作,请按照下列步骤操作:单击开始,指向设置,然后单击控制面板。
双击管理工具,然后双击计算机管理。
在控制台树中,双击服务和应用程序。
右键单击索引服务,然后单击停止。
再次右键单击索引服务,然后单击开始。
原文可参考 http://support.microsoft.com/kb/820983/zh-cn
相关文章推荐
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET Web 服务和 Visual C# .NET 发送和接收二进制文档
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 如何使用 ASP.NET 和 Visual C# .NET 向浏览器写入二进制文件
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- Visual C#.net 查询windows索引服务目录
- 使用目录服务和 Visual C# .NET 向本地系统添加用户
- 请求帮助。 如何使用(c#)asp.net编写域名查询功能?
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 在ASP.NET AJAX中使用应用程序服务和本地化(0):目录
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 使用目录服务和 Visual C# .NET 向本地系统添加用户
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 如何使用 Visual C# .NET 创建 ASP.NET HTTP 模块
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证