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


Метод WebPart.RegisterInterface (String, String, Int32, ConnectionRunAt, Object, String, String, String)

Примечание. Этот API устарел.

Регистрирует интерфейс из пространства имен Microsoft.SharePoint.WebPartPages.Communication для подключаемых веб-части.

Пространство имен:  Microsoft.SharePoint.WebPartPages
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
<ObsoleteAttribute("Use ConnectionProvider or ConnectionConsumer attribute to create ConnectionPoint instead.")> _
Protected Sub RegisterInterface ( _
    interfaceName As String, _
    interfaceType As String, _
    maxConnections As Integer, _
    runAtOptions As ConnectionRunAt, _
    interfaceObject As Object, _
    interfaceClientReference As String, _
    menuLabel As String, _
    description As String _
)
'Применение
Dim interfaceName As String
Dim interfaceType As String
Dim maxConnections As Integer
Dim runAtOptions As ConnectionRunAt
Dim interfaceObject As Object
Dim interfaceClientReference As String
Dim menuLabel As String
Dim description As String

Me.RegisterInterface(interfaceName, _
    interfaceType, maxConnections, runAtOptions, _
    interfaceObject, interfaceClientReference, _
    menuLabel, description)
[ObsoleteAttribute("Use ConnectionProvider or ConnectionConsumer attribute to create ConnectionPoint instead.")]
protected void RegisterInterface(
    string interfaceName,
    string interfaceType,
    int maxConnections,
    ConnectionRunAt runAtOptions,
    Object interfaceObject,
    string interfaceClientReference,
    string menuLabel,
    string description
)

Параметры

  • interfaceName
    Тип: System.String

    Понятное имя интерфейса.

  • interfaceType
    Тип: System.String

    Тип интерфейса, перечисленные в разделе поля класса InterfaceTypes .

  • interfaceObject
    Тип: System.Object

    Ссылка на реализацию интерфейса.

  • interfaceClientReference
    Тип: System.String

    string , используемый для ссылки интерфейса в сценарии для подключения со стороны клиента, например RowProviderInterface_WPQ_.

  • menuLabel
    Тип: System.String

    Метка, которая будет использоваться для создания подключения веб-части с помощью этого интерфейса в пользовательском интерфейсе.

  • description
    Тип: System.String

    Краткое описание интерфейса, который будет использоваться для создания подключения веб-части с помощью этого интерфейса в пользовательском интерфейсе.

Замечания

При разработке подключаемых веб-части, следует вызывать этот метод один раз для каждого интерфейса в методе EnsureInterfaces для веб-части.

Этот метод является одним из двух методов перегруженные RegisterInterface . Параметр allowCrossPageConnection не указан в своей подписи функции, которая позволяет указать, доступен ли интерфейс подключения в пользовательском интерфейсе сред для создания подключения между двумя страницами веб-части разработки. В этой версии метода allowCrossPageConnection параметр по умолчанию для true для всех интерфейсов подключения, поддерживаемых приложением правила совместимости подключения, определенные в инфраструктура веб-частей и false для всех других интерфейсов подключения.

Чтобы указать параметр allowCrossPageConnection , используйте метод [RegisterInterface(String,String,Int32,Microsoft.SharePoint.WebPartPages.Communication.ConnectionRunAt,object,String,String,String,Boolean)] .

Примеры

В следующем примере кода показан метод переопределенный EnsureInterfaces , вызывающий метод RegisterInterface . Этот пример кода является частью большего примера для интерфейса ICellProvider .

For an overview of the steps for creating a connectable Web Part, see Walkthrough: Creating a Connectable SharePoint Web Part.

' Step #4: Override the EnsureInterfaces() method and call the RegisterInterface method.
Public Overrides Sub EnsureInterfaces()
    ' If your Web Part is installed in the bin directory and the Code Access Security (CAS) setting doesn't 
    ' allow Web Part Connections, an exception will be thrown. To allow your Web Part to behave 
    ' well and continue working, a try/catch block should be used when attempting to register interfaces.
    ' Web Part Connections will only work if the level attribute of the <trust> tag in the 
    ' web.config file is set to WSS_Minimal, WSS_Medium, or Full. By default a new SharePoint site
    ' is installed with the trust level set to WSS_Minimal.
    Try
       ' Register the ICellProvider Interface
       ' <param name="interfaceName">Friendly name of the interface that is being implemented.
       ' It must be unique on the client so the _WPQ_ token is used.</param>
       ' <param name="interfaceType">Specifies which interface is being implemented.</param>
       ' <param name="maxConnections">Defines how many times this interface can be connected.</param>
       ' <param name="runAtOptions">Determines where the interface can run.</param>
       ' <param name="interfaceObject">Reference to the object that is implementing this interface.</param>
       ' <param name="interfaceClientReference">Name used to reference the interface on the client. 
       ' It must be unique on the client so the _WPQ_ token is used.</param>
       ' <param name="menuLabel">Label for the interface which appears in the UI</param>
       ' <param name="description">Description of the interface which appears in the UI</param>
       ' <param name="allowCrossPageConnection">Specifies if the interface can connect to a Web Part
       ' on a different page. This is an optional parameter with a default of false. Note that only some 
       ' server-side interfaces are allowed to connect across pages by the Web Part Infrastructure. 
       ' The ICellProvider interface is not allowed to connect across pages.</param>
       RegisterInterface("MyCellProviderInterface_WPQ_", InterfaceTypes.ICellProvider, WebPart.UnlimitedConnections, ConnectionRunAt.Server, Me, "CellProviderInterface_WPQ_", "Provide Cell To", "Provides a single value to a cell consumer Web Part.") 

    Catch se As SecurityException
            _registrationErrorOccurred = True
    End Try
End Sub
// Step #4: Override the EnsureInterfaces() method and call the RegisterInterface method.
public override void EnsureInterfaces()
{
    // If your Web Part is installed in the bin directory and the Code Access Security (CAS) setting doesn't 
    // allow Web Part Connections, an exception will be thrown. To allow your Web Part to behave 
    // well and continue working, a try/catch block should be used when attempting to register interfaces.
    // Web Part Connections will only work if the level attribute of the <trust> tag in the 
    // web.config file is set to WSS_Minimal, WSS_Medium, or Full. By default a new SharePoint site
    // is installed with the trust level set to WSS_Minimal.
    try
    {
        // Register the ICellProvider Interface
        // <param name="interfaceName">Friendly name of the interface that is being implemented.
        // It must be unique on the client so the _WPQ_ token is used.</param>
        // <param name="interfaceType">Specifies which interface is being implemented.</param>
        // <param name="maxConnections">Defines how many times this interface can be connected.</param>
        // <param name="runAtOptions">Determines where the interface can run.</param>
        // <param name="interfaceObject">Reference to the object that is implementing this interface.</param>
        // <param name="interfaceClientReference">Name used to reference the interface on the client. 
        // It must be unique on the client so the _WPQ_ token is used.</param>
        // <param name="menuLabel">Label for the interface which appears in the UI</param>
        // <param name="description">Description of the interface which appears in the UI</param>
        // <param name="allowCrossPageConnection">Specifies if the interface can connect to a Web Part
        // on a different page. This is an optional parameter with a default of false. Note that only some 
        // server-side interfaces are allowed to connect across pages by the Web Part infrastructure. 
        // The ICellProvider interface is not allowed to connect across pages.</param>
        RegisterInterface("MyCellProviderInterface_WPQ_",            //InterfaceName    
            InterfaceTypes.ICellProvider,                            //InterfaceType
            WebPart.UnlimitedConnections,                            //MaxConnections
            ConnectionRunAt.Server,                                  //RunAtOptions
            this,                                                    //InterfaceObject
            "CellProviderInterface_WPQ_",                            //InterfaceClientReference
            "Provide Cell To",                                       //MenuLabel
            "Provides a single value to a cell consumer Web Part."); //Description
    }
    catch(SecurityException se)
    {
        _registrationErrorOccurred = true;
    }
}

См. также

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

WebPart класс

Элементы WebPart

Перегрузка RegisterInterface

Пространство имен Microsoft.SharePoint.WebPartPages