Freigeben über


ManagedProperty.Delete-Methode

Löscht die verwaltete Eigenschaft aus dem Suchschema.

Namespace:  Microsoft.Office.Server.Search.Administration
Assembly:  Microsoft.Office.Server.Search (in Microsoft.Office.Server.Search.dll)

Syntax

'Declaration
Public Sub Delete
'Usage
Dim instance As ManagedProperty

instance.Delete()
public void Delete()

Hinweise

Die Delete -Methode kann nur für eine verwaltete Eigenschaft mit keine Zuordnungen aufgerufen werden; Wenn es immer noch gecrawlt werden Eigenschaften der verwalteten Eigenschaft zugeordnet sind, tritt ein Fehler bei dieser Methode.

Um zu verhindern, dass dieser Fehler auftritt, rufen Sie die DeleteAllMappings -Methode vor dem Aufrufen der Methode Delete .

Sie sollten auch überprüfen, ob die verwaltete Eigenschaft gelöscht werden kann, indem der Wert der Eigenschaft DeleteDisallowed . Wenn diese Eigenschaft auf trueist, können nicht Sie die verwaltete Eigenschaft aus dem Suchschema löschen.

Beispiele

Im folgenden Codebeispiel löscht eine verwaltete Eigenschaft aus dem Suchschema. Ein vollständiges Beispiel und Erläuterung des Codes finden Sie unter How to: Delete a Managed Property.

Prerequisites

Stellen Sie sicher, dass ein Anbieter für gemeinsame Dienste bereits erstellt ist.

Project References

Fügen Sie vor dem Ausführen dieses Beispiels die folgenden Projektverweise in Ihrem Code Konsolenanwendungsprojekt hinzu:

  • Microsoft.SharePoint

  • Microsoft.Office.Server

  • Microsoft.Office.Server.Search

using System;
using System.Collections;
using System.Text;
using Microsoft.Office.Server.Search.Administration;
using Microsoft.SharePoint;

namespace DeleteManagedPropertiesSample
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
   //Replace <ManagedPropertyName> with the name of the property to delete.
   string strName = "<ManagedPropertyName>";
    //Replace <SiteName> with the name of a site using the Shared Service Provider.
   string strURL = "http://<SiteName>";
                Schema sspSchema = new Schema(SearchContext.GetContext(new SPSite(strURL)));
                ManagedPropertyCollection properties = sspSchema.AllManagedProperties;
                foreach (ManagedProperty property in properties)
                {
                    if (property.Name == strName)
                    {
                        if (property.DeleteDisallowed)
                        {
                            Console.WriteLine("DeleteDisallowed enabled for " + strName + ".  Delete failed.");
  return;
                        }

                        property.DeleteAllMappings();
                        property.Delete();
                        Console.WriteLine(strName + " deleted.");
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
    }
}

Siehe auch

Referenz

ManagedProperty Klasse

ManagedProperty-Member

Microsoft.Office.Server.Search.Administration-Namespace