Поделиться через


Метод ManagedProperty.Delete

Удаление управляемого свойства из схемы поиска.

Пространство имен:  Microsoft.Office.Server.Search.Administration
Сборка:  Microsoft.Office.Server.Search (в Microsoft.Office.Server.Search.dll)

Синтаксис

'Декларация
Public Sub Delete
'Применение
Dim instance As ManagedProperty

instance.Delete()
public void Delete()

Замечания

Метод Delete может быть вызван только для управляемого свойства с нет сопоставлений; Если по-прежнему осуществляется обход свойств, сопоставленных с управляемым свойством, с помощью этого метода возникает ошибка.

Чтобы предотвратить возникновение этой ошибки, вызовите метод DeleteAllMappings до вызова метода Delete .

Также следует убедиться, что управляемое свойство может быть удален путем проверки значения свойства DeleteDisallowed . Если данное свойство является true, невозможно удалить управляемое свойство из схемы поиска.

Примеры

В следующем примере кода из схемы поиска Удаление управляемого свойства. Более полный пример и описание кода How to: Delete a Managed Propertyсм.

Prerequisites

Убедитесь, что поставщик общих служб уже создан.

Project References

Добавьте следующие ссылки на проект в проект консольного приложения код перед запуском этого образца:

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

См. также

Справочные материалы

ManagedProperty класс

Элементы ManagedProperty

Пространство имен Microsoft.Office.Server.Search.Administration