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());
}
}
}
}