Способы использования веб-приложения ASP.NET для запроса службы индексирования каталога с помощью Visual C#.NET

Переводы статьи Переводы статьи
Код статьи: 820983 - Vizualiza?i produsele pentru care se aplic? acest articol.
Для Microsoft Visual Basic.NET версии данной статьи, см. 820105.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается создание Каталога службы индексирования. В этой статье также описывается использование веб-приложения ASP.NET Web приложение для запроса службы индексирования каталогов.

Создайте тестовую папку

  1. Создайте новую папку на диске c компьютера. Имя Папка myCatalogFolder.
  2. Запустите текстовый редактор, например «Блокнот», а затем вставьте следующий текст в пустой документ:
    Этот документ теста для проверки запроса сервера индекса и этот файл называется IndexText.text.
  3. Сохраните файл какC:\myCatalogFolder\IndexText.txt.

Создание каталога службы индексирования

  1. Нажмите кнопку Начало, нажмите кнопку Запустить, тип compmgmt.msc, а затем нажмите кнопку ОК.
  2. Разверните узел Службы и приложения.
  3. Щелкните правой кнопкой мыши Служба индексирования, выберите пунктНовый, а затем нажмите кнопку Каталог.
  4. В Имя текстовое поле, типTestCatalog.
  5. Нажмите кнопку Обзор, перейдите в папку, где вы каталог, и нажмите кнопку ОК два раза.
  6. В группе Новый каталог Создан, вы получите следующее сообщение:
    Каталог будет оставаться офлайн до перезапуска службы индексирования
    Нажмите кнопку ОК.
  7. Щелкните правой кнопкой мыши Служба индексирования, а затем Нажмите кнопку Остановить Чтобы остановить службу индексирования.
  8. Щелкните правой кнопкой мыши Служба индексирования, а затем Нажмите кнопку Начало Перезапустите службу индексирования.

Определение области каталога

После создания нового каталога, папки, которые требуется добавьте Чтобы включить в область каталога. Область представляет собой набор папок включенные в каталог и исключаются из каталога. Область определяет содержимое, включенные в индекс и исключены из процесса индексирования. Для каждой папки, включенной или исключены, все ее подпапки также включены или исключены.
  1. Дважды щелкните значок TestCatalog (каталог, был создан в разделе «Создайте тестовую папку»).
  2. Щелкните правой кнопкой мыши Каталоги, выберите пунктНовый, а затем нажмите кнопку Каталог.
  3. Нажмите кнопку Обзор, найдите и выберите команду папка, которую требуется добавить)C:\myCatalogFolder\), а затем нажмите кнопку ОК.

    Примечание В группе Включить в индекс?, нажмите кнопкуДа.

Создание веб-приложения ASP.NET веб-приложения

  1. Запустите Microsoft Visual Studio.NET.
  2. С помощью Visual C#.NET для создания нового ASP.NET Web Приложение проект. Имя проекта IndexQueryApp. По умолчанию создается файл WebForm1.aspx.
  3. В режиме конструктора щелкните правой кнопкой мышиWebForm1, а затем нажмите кнопку Просмотр исходного кода HTML.
  4. Замените существующий код HTML следующий пример код:
    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="IndexQueryApp.WebForm1" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <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"></asp:Button>
          </form>
       </body>
    </HTML>
  5. В обозревателе решений щелкните правой кнопкой мышиWebForm1, а затем нажмите кнопку Просмотр кода. Замена существующий код в следующем примере кода:
    using System;
    using System.Data;
    
    namespace IndexQueryApp
    {
       public class WebForm1 : System.Web.UI.Page
       {
          protected System.Web.UI.WebControls.TextBox TextBox1;
          protected System.Web.UI.WebControls.DataGrid DataGrid1;
          protected System.Web.UI.WebControls.Button Button1;
       
    		private void Page_Load(object sender, System.EventArgs e)
    		{
    			// Put user code to initialize the page here.
    		}
    
    		#region Web Form Designer generated code
    		override protected void OnInit(EventArgs e)
    		{
    			//
    			// CODEGEN: The ASP.NET Web Form Designer requires this call.
    			//
    			InitializeComponent();
    			base.OnInit(e);
    		}
    		
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method by using the code editor.
    		/// </summary>
    		private void InitializeComponent()
    		{     
                                 this.Button1.Click += new System.EventHandler(this.Button1_Click);
                                 this.Load += new System.EventHandler(this.Page_Load);
                              }
    		#endregion
    
          private void Button1_Click(object sender, System.EventArgs e)
          {
             // Catalog Name
             string strCatalog = "TestCatalog";
             string strQuery="";
    
             strQuery = "Select DocTitle,Filename,Size,PATH,URL from Scope()  where FREETEXT('" +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");
             DataView source = new DataView(testDataSet.Tables[0]);
             DataGrid1.DataSource = source;
             DataGrid1.DataBind();
          }     
      }
    }
    
  6. На Построение меню, нажмите кнопку Построение Решение.

Запуск приложения

  1. На Отладка меню, нажмите кнопкуНачало для запуска приложения.
  2. Введите слово запроса Документ в тексте поле. (Введите любое слово из IndexText.txt файл.)
  3. Нажмите кнопку Кнопка. Обратите внимание, что в сетке данных появится и содержит результаты запроса IndexText.txtфайл.

Разрешение вопросов:

Подождите, пока индекс для построения

Служба индексирования автоматически обрабатывает TestCatalog и подготавливает список слов для индексирования. При выполнении примера кода может не так быстро, как ожидается, поскольку служба индексирования требуется некоторое время получения результатов для построения индекса.

Чтобы проверить состояние индекса, Пуск щелкните оснастку MMC для управления компьютером Индексирование Служба на правой панели а затем убедитесь, что Word Список для TestCatalog значение больше нуля. Если Word Список значение равно нулю, подождите, пока индекс для построения списка.

Повреждены данные индекса

Если поиск не возвращать ожидаемые результаты При запросе индекса данные индекса может быть поврежден. Для устранить эту проблему, остановите и перезапустите службу индексирования, чтобы проиндексировать все документы, еще раз. Чтобы сделать это, выполните следующие действия.
  1. Нажмите кнопку Начало, выберите пунктПараметры, а затем нажмите кнопку Панель управления.
  2. Дважды щелкните значок Администрирование, и Дважды щелкните значок Управление компьютером.
  3. В дереве консоли дважды щелкните значок Службы и Приложения.
  4. Щелкните правой кнопкой мыши Служба индексирования, а затем Нажмите кнопку Остановить.
  5. Щелкните правой кнопкой мыши Служба индексирования еще раз а затем Нажмите кнопку Начало.

Ссылки

Для получения дополнительных сведений о службе индексирования, посетите следующий веб-узел корпорации Майкрософт:
http://msdn2.Microsoft.com/en-us/library/ms689644.aspx
Для получения дополнительных сведений щелкните следующие номера статей базы знаний Майкрософт:
311521Как индекс ASP.NET содержимого с помощью сервера Microsoft индекса
Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
308202Создание и настройка каталога для индексирования


Свойства

Код статьи: 820983 - Последний отзыв: 15 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Ключевые слова: 
kbquery kbservice kbdatabinding kbdataadapter kbwebserver kbwebforms kbhowtomaster kbmt KB820983 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:820983

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com