Partager via


Procédure pas à pas : interrogation de la Recherche SharePoint à partir d’une application cliente

Dernière modification : mardi 20 juillet 2010

S’applique à : SharePoint Server 2010

Notes

Dans ce contexte, les applications clientes font référence aux applications qui appellent le Requête de service Web. Il peut s’agir d’applications telles que les applications Web Microsoft ASP.NET ou les applications Windows Forms.

La méthode Web QueryEx du Requête de service Web envoie une requête au service de recherche et retourne les résultats dans un objet DataSet. La procédure pas à pas suivante explique comment utiliser le Requête de service Web pour retourner les résultats de la Recherche SharePoint Server à une application cliente Windows en utilisant la méthode Web QueryEx et comprend les tâches suivantes :

  • Configuration de l’application cliente

  • Référencement du Requête de service Web à partir de l’application cliente

  • Modification du formulaire pour l’application cliente

  • Codage de l’application cliente

  • Test de l’application cliente

Pour effectuer cette procédure pas à pas, vérifiez les points suivants :

  • Microsoft Visual Studio 2010 est installé sur votre ordinateur de développement.

  • Vous êtes habilité à accéder à un site SharePoint configuré de manière à utiliser la Recherche SharePoint Server.

Pour configurer l’application cliente

  1. Dans Visual Studio 2010, dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.

  2. Sous Modèles installés, développez Visual C#, puis cliquez sur Windows.

  3. Sélectionnez Application Windows Forms. Dans le champ Nom, tapez QueryExClientSample, puis cliquez sur OK.

Pour ajouter une référence Web au service Web Query

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nom de votre projet, puis cliquez sur Ajouter une référence de service.

  2. Dans la boîte de dialogue Ajouter une référence de service, cliquez sur Avancé.

  3. Dans la boîte de dialogue Paramètres de référence de service, cliquez sur Ajouter une référence Web.

  4. Dans la boîte de dialogue Ajouter une référence Web, dans le champ texte URL, tapez l’adresse suivante : http://serveur/_vti_bin/search.asmx. Remplacez serveur par l’URL du site SharePoint, puis cliquez sur Aller à.

  5. Lorsque le service Web est localisé, la page du service Web QueryService apparaît dans la fenêtre principale de la boîte de dialogue Ajouter une référence Web. Tapez QueryWebServiceProxy dans le champ Nom de la référence Web, puis cliquez sur Ajouter une référence.

Pour modifier le formulaire par défaut pour l’application cliente

  1. Dans l’Explorateur de solutions, double-cliquez sur le formulaire (Form1 si vous utilisez le formulaire par défaut).

  2. Dans la boîte à outils, développez Contrôles communs, cliquez sur Bouton, puis faites glisser le contrôle sur votre formulaire. Dans Propriétés, attribuez au paramètre (Nom) la valeur queryButton, puis tapez Query dans la propriété Texte.

  3. Dans la boîte à outils, cliquez sur ZoneTexte, puis faites glisser le contrôle sur votre formulaire. Dans Propriétés, attribuez au paramètre (Nom) la valeur queryTextBox, puis définissez Multiligne sur True.

  4. Dans la boîte à outils, développez Données, cliquez sur DataGridView, puis faites glisser le contrôle sur votre formulaire. Dans Propriétés, attribuez au paramètre (Nom) la valeur resultsGrid.

  5. Dans la boîte à outils, cliquez sur Étiquette, puis faites glisser le contrôle sur votre formulaire. Dans Propriétés, attribuez au paramètre (Nom) la valeur resultsLabel, puis supprimez le contenu de la propriété Texte.

Pour écrire le code pour l’application cliente

  1. Double-cliquez sur queryButton pour ajouter un gestionnaire d’événements pour l’événement Click. L’éditeur de code s’ouvre, avec le curseur placé dans le gestionnaire d’événements queryButton_Click.

  2. Ajoutez le code suivant à l’événement queryButton_Click :

    try
    {
    // Instantiate the Web service.
        QueryWebServiceProxy.QueryService queryService = new QueryWebServiceProxy.QueryService();
    // Use the credentials of the user running the client application. 
        queryService.Credentials = System.Net.CredentialCache.DefaultCredentials;
    //Execute the QueryEx method, returning the results to a DataSet
        System.Data.DataSet queryResults = queryService.QueryEx(GetXMLString());
    // Set the DataGridView data source to the first table in the DataSet oject, which contains the relevant results.
        resultsGrid.DataSource = queryResults.Tables[0];
    }
    catch (Exception ex)
    {
        resultsLabel.Text = ex.ToString();
    }
    
  3. La chaîne transmise à la méthode QueryEx est construite dans la fonction GetXMLString. Ajoutez le code suivant à la classe Form1 pour créer la fonction GetXMLString.

    private string GetXMLString()
    {
    /* 
       The proceeding six lines of code is actually one line of code.
       It is separated into four lines here for readability.
       You will need to remove the line breaks when you copy the code to your project.
    */
       StringBuilder xmlString = new StringBuilder("<QueryPacket xmlns='urn:Microsoft.Search.Query'>
    <Query><SupportedFormats><Format revision='1'> urn:Microsoft.Search.Response.Document:Document
    </Format></SupportedFormats><Context><QueryText language='en-US' type='STRING'>");
        xmlString.Append(queryTextBox.Text);
        xmlString.Append("</QueryText></Context></Query></QueryPacket>");
        return xmlString.ToString();
    }
    

Pour tester l’application cliente

  1. Appuyez sur F5 pour générer et exécuter l’application cliente.

  2. Tapez une requête de mot clé dans la zone de texte. Pour plus d’informations sur la construction de requêtes de mot clé, voir Référence de syntaxe de requête par mots clés.

  3. Cliquez sur Requête pour envoyer la requête de mot clé au service Web Query. Si des résultats sont retournés, ils apparaissent dans le contrôle DataGridView.

Voir aussi

Référence

QueryService

Concepts

Utilisation du service Web Query

Génération de requêtes de recherche

Autres ressources

Microsoft.Search, référence du schéma