Compartilhar via


MethodInstance De classe

Descreve como chamar um método. Ele é uma referência a um método , além de Valores usar como padrão Para a entrada Parâmetros de método leva.

Espaço para nome Microsoft.Office.Server.ApplicationRegistry.Administration
Conjunto de Módulos (Assembly) Microsoft.SharePoint.Portal (em microsoft.sharepoint.portal.dll)

A sintaxe

<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel:=True)> _
<SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel:=True)> _
Public Class MethodInstance
    Inherits IndividuallySecurableMetadataObject

Dim instance As MethodInstance
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel=true)] 
[SharePointPermissionAttribute(SecurityAction.Demand, ObjectModel=true)] 
public class MethodInstance : IndividuallySecurableMetadataObject

Comentários

Um método único pode ter múltiplo MethodInstance objetos, com cada objeto MethodInstance MethodInstance sendo uma combinação de assinatura de método e um conjunto de valores usar como padrão.Você pode usar objetos MethodInstance MethodInstance para chamar o método mesmo com valores diferentes usar como padrão.MethodInstance MethodInstance são especialmente úteis para serviços da Web complexos.De exemplo, você pode ter um WebMethod que retorna múltiplo gera in várias ref ou out tipo parâmetros.Data Catalog de negócios pode processo apenas um único valor de retorno em um tempo, para que você poderia definir um WebMethod tal como um único método Catálogo dados Business e em seguida, crie múltiplo MethodInstances, cada uma delas seria apontar para um parâmetro diferente do método de núcleo como o parâmetro 'Return'.

Para completamente definir um objeto MethodInstance MethodInstance, opcionalmente, você pode definir um elemento TypeDescriptor TypeDescriptor along with o ReturnParameter em XML.A seguir é um exemplo.

<MethodInstance name="bla" Type="Finder" ReturnParametername="foo" ReturnTypeDescriptorname="baz" ReturnTypeDescriptorLevel="5">

O atributo ReturnTypeDescriptorName é opcional.Se não for especificado, o Business Data Catalog assumirá a raiz TypeDescriptor do Return parameter parâmetro.O atributo ReturnTypeDescriptorLevel também é opcional.Se ele não for especificado e houver mais de uma maneira semelhante nomeado TypeDescriptor, uma exceção é acionada.Se houver mais de uma maneira semelhante nomeado elementos TypeDescriptor TypeDescriptor de mesmo nível (que é raro), o primeiro será adotado.

Essa flexibilidade é importante, pois permite a reutilização de um método da Web em múltiplo maneiras.Considere um WebMethod que retorna coleções de clientes, e cada cliente contém uma coleção de endereços.Três Business Data Catalog MethodInstances que usam esse WebMethod: um localizador do cliente, um SpecificFinder ao cliente e uma associação CustomerToAddress (retorna endereços de um cliente).In the MethodInstance model, the metadata author must define just that portion of the Return parameter that is of relevance, by allowing a user to specify the TypeDescriptor within the ReturnParameter.

As associações são derivado classes classes MethodInstance MethodInstance e a associação formato definição também opcionalmente leva em valores ReturnTypeDescriptor ReturnTypeDescriptor.

<Association name="CustomerToAddresses" AssociationMethodEntityname="Customer" AssociationMethodname="GetCustomerByID" AssociationMethodReturnParametername="Customer" AssociationMethodReturnTypeDescriptorname="CustomerAddresses" AssociationMethodReturnTypeDescriptorLevel="1">
      <SourceEntity name="Customer" />
      <DestinationEntity name="Address" />
    </Association>

Finalmente, o modelo objeto para MethodInstance também fornece um acessador ReturnTypeDescriptor ReturnTypeDescriptor/propriedade.Como o modelo objeto funciona com objeto referências, existe o ReturnParameter é implicitamente parte o ReturnTypeDescriptor e não mais necessidade para especificar um ReturnParameter ao usar o modelo objeto.

Determinadas instâncias método tem finalidades especiais que genérico habilitar clientes.

Finders and SpecificFinders

Um Finder é um método especial que retorna instâncias entidade.Um SpecificFinder retorna exatamente uma instância entidade.Finder métodos são métodos estáticos e não têm uma chave como um parâmetro de entrada.SpecificFinder SpecificFinder também são métodos estáticos, mas elas terão uma chave (identificação) explicitamente.

Entidades que podem ser acessadas somente por associação devem ter zero localizadores.Outras entidades devem ter um Finder localizador método que retorna múltiplo instâncias e um SpecificFinder SpecificFinder método que retorna uma instância única, fornecida um ID.

De exemplo, para a entidade do cliente, o Finder localizador talvez SELECT * FROM Customers e o SpecificFinder SpecificFinder método talvez SELECT * FROM Customers WHERE CustomerID = id.

Se você não definir métodos Finders, a entidade não poderá ser usada em uma Business dados Lista de Web Part; Se você não definir métodos SpecificFinder, que entidade não pode ter ações em, não pode ser pesquisado ou indexados e não podem ser usados em qualquer um dos recursos do Business dados, exceto a Web Part de Lista relacionados.

Para qualificar para um Finder, o correspondente método deve aceitar parâmetros filtráveis como entrada e retornar conjuntos de registros, onde cada registro deve conter a chave de instância de entidade que ela representa.Para qualificar como um SpecificFinder, o correspondente método deve levar a chave instância entidade como um da entrada parâmetros e deverá retornar campos, da qual um dos campos é a chave.

A seguir é um exemplo levemente mais complexo de um Finder localizador que tem parâmetros filtráveis.

SELECT ProductID, Name, ProductNumber, ListPrice FROM Product WHERE (ProductID &gt;= @MinProductID) AND (ProductID &lt;= @MaxProductID) AND (Name LIKE @Name) AND ProductNumber LIKE @ProductNumber)

Finder SpecificFinder SpecificFinder e não precisar retornar os mesmos campos.Você pode ter situações onde o SpecificFinder SpecificFinder método retorna mais campos do que o Finder localizador.No entanto, eles dois devem retornar os identificadores definidos nas entidades.

Um Finder e um SpecificFinder SpecificFinder método devem ter exatamente um correspondente método instância.

Um SpecificFinder método SpecificFinder desempenha uma função importante no Enterprise Search e indexação.Rastrear um Business Data Catalog tem duas fases:

  • Enumeração identificação: busca entidade todas as identificações de instância.

  • Buscar detalhe: buscar os detalhes de cada instância entidade.

Um IDEnumerator, descrito mais adiante neste tópico, retorna as identificações e o SpecificFinder SpecificFinder método retorna os detalhes de cada instância entidade.

ViewAccessors

Um view é uma coleção de campos para uma entidade.A exibição usar como padrão de uma entidade contém os campos retornados pelo localizador Finder SpecificFinder métodos e.Um ViewAccessor é outro método especial que retorna uma exibição non-Default, that is, um conjunto diferente de campos do aplicativo de empresa.ViewAccessor ViewAccessor instância que usam uma chave (identificação) implicitamente; são Ou seja, você não fornecer a chave.O Business Data Catalog fornece a chave automaticamente.

Entidades tem zero ou mais métodos ViewAccessor ViewAccessor.

Embora Finder e SpecificFinder SpecificFinder métodos podem ter apenas uma instância método, métodos ViewAccessor ViewAccessor podem ter um ou mais instâncias método.Essa flexibilidade é útil quando o mesmo método retorna múltiplo estruturas, cada uma das quais faz backup uma exibição.Em sistemas such as SAP, existem APIs (por exemplo, BAPI_CUSTOMER_GETDETAIL2) que retornam múltiplo coleções de relacionado campos para o usuário.O Customer GetDetails API, de exemplo, pode retornar uma estrutura que contêm dados financeiros, uma estrutura que contém dados do endereço e assim por diante.

Dica

Dados do Business recursos such as Business Data Web Parts e lista os modos de exibição entidade suporte.

IDEnumerator

Rastrear um Business Data Catalog tem duas fases:

  • Enumeração identificação: busca entidade todas as identificações de instância.

  • Buscar detalhe: buscar os detalhes de cada instância entidade.

Um IDEnumerator IDEnumerator método retorna a lista de IDs (chave exclusiva) para cada entidade que deve ser pesquisável, e o SpecificFinder SpecificFinder método retorna os detalhes de cada instância entidade.Isso permite indexação das entidades cujas identificações de IDEnumerator IDEnumerator método retorna.

Dica

Se você precisar rastrear incremental, você deve assegurar-se de que o LastModifiedDate LastModifiedDate propriedade seja um dos campos de retorno do SpecificFinder para as entidades.

Entidades tem zero ou um IDEnumerator método.IDEnumerator IDEnumerator não estão limitados para retornar uma lista de identificações.Se eles retornarem outros campos no parâmetro de retorno, o Business Data Catalog ignora-los durante a rastrear.

O filtro LastIdSeen LastIdSeen permite reunir para métodos IDEnumerator IDEnumerator.Para serviços da Web e outros aplicativos back-end nonstreaming, use o filtro LastIdSeen LastIdSeen no seu IDEnumerator IDEnumerator método para melhorar desempenho, da seguinte maneira:

SELECT TOP 100 Id FROM Customers WHERE Id>=@LastIdSeen
ORDER BY Id

Use o filtro LastIdSeen instead of o seguinte

Select Id from Customers

GenericInvoker

Um GenericInvoker é um método que você pode invocar na linha de back-end - de - aplicativo empresa (LOB) que não é um dos métodos descritos anteriormente.Exemplo, você pode usar um método GenericInvoker GenericInvoker para executar um método no aplicativo back-end para editar uma entidade ou a atualização de Preço Unitário na tabela de produtos.

Entidades tem zero ou mais métodos GenericInvoker GenericInvoker.

GenericInvoker GenericInvoker são extremamente úteis se você estiver escrevendo um personalizado Web Part que deve invocar lógica em um sistema back-end, porque o Business Data Catalog cuida de todos os a autenticação, autorização outros requisitos de segurança e assim por diante.

Dica

Dados do Business recursos, como Business Data Web Parts e listas não faça usa métodos GenericInvoker GenericInvoker.No entanto, o modelo objeto e o suporte esquema XML esse tipo de método instância.

Scalar

Um Scalar é um método que retorna um valor único que você pode invocar no aplicativo LOB back-end.Exemplo, você pode usar um método escalares Scalar para get o total de vendas feitas Data a partir de aplicativo back-end.

Entidades tem zero ou mais métodos escalares Scalar.

Hierarquia de herança

System.Object
   Microsoft.Office.Server.ApplicationRegistry.Administration.MetadataObject
     Microsoft.Office.Server.ApplicationRegistry.Administration.AccessControlledMetadataObject
       Microsoft.Office.Server.ApplicationRegistry.Administration.IndividuallySecurableMetadataObject
        Microsoft.Office.Server.ApplicationRegistry.Administration.MethodInstance
           Microsoft.Office.Server.ApplicationRegistry.Administration.Association

Segmento de segurança

Qualquer público estático ( compartilhadas Na Visual Basic) os membros desse tipo são segmento seguro. Os membros de instância não são garantia ser segmento seguro.

Consulte também

Referência

MethodInstance Membros
Microsoft.Office.Server.ApplicationRegistry.Administration De espaço para nome