Cómo utilizar una aplicación ASP.NET para consultar un catálogo de servicios de Index Server mediante Visual C# .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 820983 - Ver los productos a los que se aplica este artículo
Para obtener una versión de Microsoft Visual Basic .NET de este artículo, consulte 820105.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso describe cómo crear un catálogo de servicios de Index Server. En este artículo también describe cómo utilizar un Web de ASP.NET aplicación catálogos del servicio de Index Server de consulta.

Cree una carpeta de prueba

  1. Cree una nueva carpeta en la unidad C del equipo. Nombre de la carpeta myCatalogFolder .
  2. Inicie un editor de texto, como el Bloc de notas y, a continuación, pegue el texto siguiente en un documento en blanco:
    es documento de prueba para probar la consulta de servidor de índice y el nombre de archivo es IndexText.text.
  3. Guarde el archivo como C:\myCatalogFolder\IndexText.txt .

Crear un catálogo de servicios de Index Server

  1. Haga clic en Inicio , haga clic en Ejecutar , escriba compmgmt.msc y, a continuación, haga clic en Aceptar .
  2. Expanda servicios y aplicaciones .
  3. Haga clic con el botón secundario en Servicio de Index Server , seleccione nuevo y, a continuación, haga clic en catálogo .
  4. En el cuadro de texto nombre , escriba TestCatalog .
  5. Haga clic en Examinar , busque la carpeta donde desea colocar el catálogo y, a continuación, haga clic en Aceptar dos veces.
  6. Bajo catálogo nuevo creado , recibirá el mensaje siguiente:
    El catálogo permanecerá sin conexión hasta que se reinicie el servicio de Index Server
    Haga clic en Aceptar .
  7. Haga clic con el botón secundario en Servicio de Index Server y, a continuación, haga clic en Detener para detener el servicio de Index Server.
  8. Haga clic con el botón secundario en Servicio de Index Server y, a continuación, haga clic en iniciar para reiniciar el servicio de Index Server.

Definir el ámbito del catálogo

Después de crear un catálogo nuevo, agregar las carpetas que desea incluir en el ámbito del catálogo. El ámbito es el conjunto de carpetas que se incluye en el catálogo y excluyen el catálogo. El ámbito define el contenido que se incluye en el índice y excluyen el índice. Para cada carpeta que se incluyan o excluyan, todas sus subcarpetas también se incluyen o excluyen.
  1. Haga doble clic en TestCatalog (el catálogo que creó en la sección "Crear una carpeta de prueba").
  2. Haga clic con el botón secundario en directorios , seleccione nuevo y, a continuación, haga clic en directorio .
  3. Haga clic en Examinar , busque y haga clic en la carpeta que desee agregar ( C:\myCatalogFolder\ ) y, a continuación, haga clic en Aceptar .

    Nota Bajo incluir en el índice? , haga clic en .

Crear una aplicación Web ASP.NET

  1. Inicie Microsoft Visual Studio NET..
  2. Utilizar Visual C# .NET para crear un nuevo ASP.NET Web Application proyecto. El proyecto IndexQueryApp nombre. De forma predeterminada, se creará WebForm1.aspx.
  3. En la vista Diseño, haga clic con el botón secundario del mouse en WebForm1 y, a continuación, haga clic en Ver código fuente de HTML .
  4. Replace the existing HTML code with following sample code:
    <%@ 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. En el Explorador de soluciones, haga clic con el botón secundario del mouse en WebForm1 y, a continuación, haga clic en Ver código . Reemplace el código existente con el siguiente ejemplo de código:
    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. En el menú Generar , haga clic en Generar soluciones .

Ejecutar la aplicación

  1. En el menú Depurar , haga clic en iniciar para ejecutar la aplicación.
  2. Tipo de la consulta documento de word en el cuadro de texto. (Puede escribir cualquier palabra en el archivo IndexText.txt ).
  3. Haga clic en el botón . Observe que aparece la cuadrícula de datos y que contiene el resultado de consulta de la IndexText.txt archivo.

Solucionar problemas

Espere a que el índice para generarse

El servicio de Index Server automáticamente procesa el TestCatalog y prepara una lista de palabras para la indización. Cuando se ejecuta el código de ejemplo, quizás no reciba los resultados tan rápidamente como se espera porque Servicios de Index Server requiere cierto tiempo para crear el índice.

Para comprobar el estado del índice, inicie administración de equipos MMC complemento; haga clic en Servicios de Index Server en el panel derecho y a continuación, compruebe que el valor de Lista de palabras para TestCatalog es mayor que cero. Si el Word lista valor es cero, espere a que el índice para generar la lista.

Es posible que los datos de índice estén dañados

Es posible si la búsqueda no devuelve los resultados esperados cuando consulta el índice, los datos del índice que estén dañados. Para solucionar este problema, detenga y reinicie Servicios de Index Server indizar de nuevo todos los documentos. Para ello, siga estos pasos:
  1. Haga clic en Inicio , seleccione configuración y, a continuación, haga clic en Panel de control .
  2. Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administración de equipos .
  3. En el árbol de consola, haga doble clic en servicios y aplicaciones .
  4. Haga clic con el botón secundario en Servicio de Index Server y, a continuación, haga clic en Detener .
  5. Haga clic de nuevo con el botón secundario en Servicio Index Server y, a continuación, haga clic en Inicio .

Referencias

Para obtener más información acerca del servicio de Index Server, visite el siguiente sitio Web de Microsoft:
http://msdn2.microsoft.com/en-us/library/ms689644.aspx
Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
311521Cómo indizar el contenido ASP.NET mediante Microsoft Index Server
Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
308202Cómo crear y configurar un catálogo de indización


Propiedades

Id. de artículo: 820983 - Última revisión: viernes, 12 de enero de 2007 - Versión: 3.4
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Windows Indexing Service 2.0
Palabras clave: 
kbmt kbquery kbservice kbdatabinding kbdataadapter kbwebserver kbwebforms kbhowtomaster KB820983 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 820983

Enviar comentarios

 

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