Τρόπος χρήσης μιας εφαρμογής ASP.NET ερώτημα για μια υπηρεσία ευρετηρίου καταλόγου χρησιμοποιώντας τη Visual C# .NET

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 820983 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Για την έκδοση Microsoft Visual Basic .NET αυτού του άρθρου, ανατρέξτε στην ενότητα820105.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο δημιουργίας μιας υπηρεσίας ευρετηρίου καταλόγου. Αυτό το άρθρο περιγράφει τον τρόπο χρήσης του Web του ASP.NET μιας εφαρμογής στους καταλόγους της υπηρεσίας ευρετηρίου ερωτήματος.

Δημιουργήστε ένα φάκελο δοκιμής

  1. Δημιουργήστε έναν νέο φάκελο στη μονάδα δίσκου C του υπολογιστή σας. Ονομάστε το φάκελοmyCatalogFolder.
  2. Start a text editor such as Notepad, and then paste the following text in a blank document:
    This is test document to test the index server query and this file name is IndexText.text.
  3. Αποθήκευση αρχείου ωςC:\myCatalogFolder\IndexText.txt.

Create an Indexing Service catalog

  1. Κάντε κλικStartΚάντε κλικΕκτέλεσηTYPEcompmgmt.msc, και στη συνέχεια κάντε κλικ στο κουμπίOk.
  2. expandΥπηρεσίες και εφαρμογές.
  3. Κάντε δεξιό κλικ στο στοιχείοΥπηρεσία ευρετηρίου (Indexing Service), τοποθετήστε το δείκτηΝέα, και στη συνέχεια κάντε κλικ στο κουμπίCatalog.
  4. ΣτοNAMEπλαίσιο κειμένου, πληκτρολογήστεTestCatalog.
  5. Κάντε κλικΑναζήτηση, locate the folder where you want to put the catalog, and then clickOkδύο φορές.
  6. underNew Catalog CreatedΕμφανίζεται το ακόλουθο μήνυμα:
    Catalog will remain off-line until Indexing Service is restarted
    Κάντε κλικOk.
  7. Κάντε δεξιό κλικ στο στοιχείοΥπηρεσία ευρετηρίου (Indexing Service), και στη συνέχεια κάντε κλικ στο κουμπίΕμφανίζεται το μήνυμα λάθους Διακοπήto stop the Indexing Service.
  8. Κάντε δεξιό κλικ στο στοιχείοΥπηρεσία ευρετηρίου (Indexing Service), και στη συνέχεια κάντε κλικ στο κουμπίStartto restart the Indexing Service.

Define the scope of the catalog

After you create a new catalog, add the folders that you want to include in the scope of the catalog. The scope is the set of folders that is included in the catalog and excluded from the catalog. The scope defines the content that is included in the index and excluded from the index. For each folder that is included or excluded, all its subfolders are also included or excluded.
  1. Διπλό κλικTestCatalog(the catalog that you created in the "Create a Test Folder" section).
  2. Κάντε δεξιό κλικ στο στοιχείοΚατάλογοι, τοποθετήστε το δείκτηΝέα, και στη συνέχεια κάντε κλικ στο κουμπίΚατάλογος.
  3. Κάντε κλικΑναζήτηση, locate and then click the folder that you want to add (C:\myCatalogFolder\), και στη συνέχεια κάντε κλικ στο κουμπίOk.

    ΣΗΜΕΙΩΣΗunderInclude in Index ?Κάντε κλικYES.

Create an ASP.NET Web application

  1. Ξεκινήστε το Microsoft Visual Studio .NET.
  2. Use Visual C# .NET to create a newWeb του ASP.NET εφαρμογήςτο έργο. Το όνομα του έργουIndexQueryApp. By default, WebForm1.aspx is created.
  3. In Design view, right-clickWebForm1, και στη συνέχεια κάντε κλικ στο κουμπίView HTML Source.
  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. Στην Εξερεύνηση των λύσεων, κάντε δεξιό κλικWebForm1, και στη συνέχεια κάντε κλικ στο κουμπίΠροβολή κώδικα. Replace the existing code with the following sample code:
    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. Στο διακομιστήΔημιουργίαμενού, κάντε κλικ στο κουμπίΔημιουργία λύσεων.

Run the application

  1. Στο διακομιστήΟ εντοπισμός σφαλμάτωνμενού, κάντε κλικ στο κουμπίStartΓια να εκτελέσετε την εφαρμογή.
  2. Type the query worddocumentin the text box. (You can type any word from theIndexText.txtfile.)
  3. Κάντε κλικΚουμπί. Notice that the data grid appears and contains the query results from theIndexText.txtFILE.

Αντιμετώπιση προβλημάτων

Wait for the index to be built

Indexing Service automatically processes the TestCatalog and prepares a word list for indexing. When you run the sample code, you may not receive the results as quickly as expected because Indexing Service requires some time to build the index.

To verify the state of the index, start the Computer Management MMC snap-in. ClickIndexing Servicein the right pane, and then verify that theWord Listvalue for TestCatalog is greater than zero. Αν υπάρχει ήδη ο φάκελοςWord Listvalue is zero, wait for the index to build the list.

Index data may have become corrupted

If the search does not return the expected search results when you query the index, the index data may have become corrupted. To troubleshoot this issue, stop and then restart Indexing Service to index all documents again. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα: (Use the tools in the Windows Recovery Environment to repair Windows Vista. To do this, follow these steps:):
  1. Κάντε κλικStart, τοποθετήστε το δείκτηρυθμίσεις, και στη συνέχεια κάντε κλικ στο κουμπίΟ πίνακας ελέγχου.
  2. Διπλό κλικΕργαλεία διαχείρισης, και στη συνέχεια κάντε διπλό κλικΔιαχείριση Υπολογιστή (Computer Management).
  3. In the console tree, double-clickΥπηρεσίες και εφαρμογές.
  4. Κάντε δεξιό κλικ στο στοιχείοΥπηρεσία ευρετηρίου (Indexing Service), και στη συνέχεια κάντε κλικ στο κουμπίΕμφανίζεται το μήνυμα λάθους Διακοπή.
  5. Κάντε δεξιό κλικ στο στοιχείοΥπηρεσία ευρετηρίου (Indexing Service)again, and then clickStart.

Αναφορές

For more information about the Indexing Service, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/ms689644.aspx
Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω για να προβάλετε τα άρθρα της Γνωσιακής Βάσης (Knowledge Base) της Microsoft:
311521How to index ASP.NET content by using Microsoft Index Server
Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
308202How to create and configure a catalog for indexing


Ιδιότητες

Αναγν. άρθρου: 820983 - Τελευταία αναθεώρηση: Τετάρτη, 22 Δεκεμβρίου 2010 - Αναθεώρηση: 2.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 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: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