Wie Sie eine ASP.NET-Anwendung verwenden, um einen Index Server-Katalog Abfragen mithilfe von Visual c# .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 820983 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Eine Microsoft Visual Basic .NET Version dieses Artikels finden Sie unter 820105.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser schrittweise aufgebaute Artikel beschreibt die einen Index Server-Katalog zu erstellen. Dieser Artikel beschreibt auch, wie Sie einer ASP.NET-Webseite Anwendung Abfrage Indexdienst Kataloge.

Erstellen Sie einen Testordner

  1. Erstellen Sie einen neuen Ordner auf Laufwerk C: Ihres Computers. Benennen Sie den Ordner MyCatalogFolder .
  2. Starten Sie einen Texteditor wie Editor und fügen Sie den folgenden Text in einem leeren Dokument:
    Dies ist Testdokument, Index Server-Abfrage zu testen und diese Dateinamen IndexText.text.
  3. Speichern Sie die Datei als C:\myCatalogFolder\IndexText.txt .

Erstellen Sie einen Index Server-Katalog

  1. Klicken Sie auf Start , klicken Sie auf Ausführen , geben Sie compmgmt.msc ein und klicken Sie dann auf OK .
  2. Erweitern Sie Dienste und Anwendungen .
  3. Klicken Sie mit der rechten Maustaste auf Indexdienst , zeigen Sie auf neu und klicken Sie dann auf OK .
  4. Geben Sie im Textfeld Name TestCatalog ein.
  5. Klicken Sie auf Durchsuchen , suchen Sie den Ordner, in dem den Katalog eingefügt werden sollen, und klicken Sie dann zwei Mal auf OK .
  6. Unter Neuer Katalog erstellt , die folgende Meldung:
    Katalog bleibt bis offline Indexdienst neu gestartet wird
    Klicken Sie auf OK .
  7. Klicken Sie mit der rechten Maustaste auf Indexdienst , und klicken Sie Beenden , um den Indexdienst zu beenden.
  8. Klicken Sie mit der rechten Maustaste auf Indexdienst , und klicken Sie dann auf Starten , um den Indexdienst neu zu starten.

Definieren des Gültigkeitsbereichs des Katalogs

Nachdem Sie einen neuen Katalog erstellt haben, werden fügen Sie die Ordner hinzu, die Sie im Bereich des Katalogs aufnehmen möchten. Der Gültigkeitsbereich ist der Satz von Ordnern, die im Katalog enthalten ist und aus dem Katalog ausgeschlossen. Der Bereich definiert den Inhalt, der in den Index aufgenommen und aus dem Index ausgeschlossen. Für jeden Ordner, die einbezogen oder ausgeschlossen wird, werden alle Unterordner auch ein- oder ausgeschlossen.
  1. Doppelklicken Sie auf TestCatalog (Katalog, die Sie im Abschnitt "Erstellen einer Test-Ordner" erstellt haben).
  2. Klicken Sie mit der rechten Maustaste auf Verzeichnisse , zeigen Sie auf neu und klicken Sie dann auf Verzeichnis .
  3. Klicken Sie auf Durchsuchen , suchen Sie und klicken Sie dann auf den Ordner, den Sie ( C:\myCatalogFolder\ ) hinzufügen möchten und klicken Sie dann auf OK .

    Hinweis: Unter in Index einschließen? , klicken Sie auf Ja .

Erstellen Sie eine ASP.NET-Webanwendung

  1. Starten Sie Microsoft Visual Studio .NET.
  2. Visual c# .NET verwenden, um eine neue erstellen ASP.NET Web Application Projekt. Nennen Sie das Projekt IndexQueryApp . Standardmäßig wird "WebForm1.aspx" erstellt.
  3. Klicken Sie in der Entwurfsansicht mit der rechten Maustaste auf WebForm1 und klicken Sie dann auf HTML-Quelltext .
  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. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf WebForm1 und klicken Sie dann auf Code anzeigen . Ersetzen Sie den vorhandenen Code durch den folgenden Beispielcode:
    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. Klicken Sie im Menü Erstellen auf Erstellen Projektmappen .

Führen Sie die Anwendung aus

  1. Klicken Sie im Debug auf Starten , um die Anwendung auszuführen.
  2. Geben Sie den Abfrage-Word- Dokument im Textfeld. (Sie können ein Wort aus der Datei IndexText.txt eingeben.)
  3. Klicken Sie auf die Schaltfläche . Beachten Sie, dass das Datenraster angezeigt und die Abfrageergebnissen aus der IndexText.txt enthält -Datei.

Problembehandlung

Der Index erstellt werden, warten

Der Indexdienst automatisch verarbeitet die TestCatalog und bereitet eine Wortliste für die Indizierung vor. Wenn des Beispielcodes ausführen eventuell nicht die Ergebnisse erhalten Sie so schnell wie erwartet, da Indexdienstes einige Zeit zum Erstellen des Indexes erfordert.

Um den Zustand des Index überprüfen, starten Sie das Computerverwaltungs-MMC-Snap-in klicken Sie Indexdienst im rechten Fensterbereich und stellen Sie dann sicher, dass der Wert Wortliste für TestCatalog größer als 0 (null) ist. Wenn die Word Liste Wert ist 0 (null), warten Sie den Index in die Liste zu erstellen.

Indexdaten möglicherweise beschädigt

Wenn die Suche nicht die erwarteten Suchergebnisse beim Abfragen des Indexes liefert, Indexdaten möglicherweise beschädigt. Um dieses Problem zu beheben, beenden und starten Sie Indexdienst alle Dokumente erneut indizieren neu. Gehen Sie hierzu folgendermaßen vor:
  1. Klicken Sie auf Start , zeigen Sie auf Einstellungen und klicken Sie auf Systemsteuerung .
  2. Doppelklicken Sie auf Verwaltung , und doppelklicken Sie dann auf Computerverwaltung .
  3. Doppelklicken Sie in der Konsolenstruktur auf Dienste und Anwendungen .
  4. Klicken Sie mit der rechten Maustaste auf Indexdienst , und klicken Sie Beenden .
  5. Klicken Sie erneut mit der rechten Maustaste auf Indexdienst , und klicken Sie dann auf Starten .

Informationsquellen

Weitere Informationen über den Indexdienst die folgenden Microsoft-Website:
http://msdn2.microsoft.com/en-us/library/ms689644.aspx
Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
311521Gewusst wie: ASP.NET-Inhalt mithilfe von Microsoft Index Server indiziert
Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
308202Zum Erstellen und Konfigurieren eines Katalogs für die Indizierung


Eigenschaften

Artikel-ID: 820983 - Geändert am: Freitag, 12. Januar 2007 - Version: 3.4
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbmt kbquery kbservice kbdatabinding kbdataadapter kbwebserver kbwebforms kbhowtomaster KB820983 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 820983
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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