Clase SafeToPrepareAttribute

Marca los métodos en el ensamblado que se pueden ejecutar con seguridad con la propiedad ExecuteForPrepare establecida en TRUE.

Jerarquía de herencia

Object
  Attribute
    Microsoft.AnalysisServices.AdomdServer.SafeToPrepareAttribute

Espacio de nombres:  Microsoft.AnalysisServices.AdomdServer
Ensamblado:  msmgdsrv (en msmgdsrv.dll)

Sintaxis

'Declaración
Public NotInheritable Class SafeToPrepareAttribute _
    Inherits Attribute
'Uso
Dim instance As SafeToPrepareAttribute
public sealed class SafeToPrepareAttribute : Attribute
public ref class SafeToPrepareAttribute sealed : public Attribute
[<SealedAttribute>]
type SafeToPrepareAttribute =  
    class 
        inherit Attribute 
    end
public final class SafeToPrepareAttribute extends Attribute

El tipo SafeToPrepareAttribute expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público SafeToPrepareAttribute Inicializa una nueva instancia de la clase SafeToPrepareAttribute.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública IsSafeToPrepare Obtiene un valor que indica si es seguro ejecutar el método asociado a la propiedad ExecuteForPrepare establecida en true.
Propiedad pública TypeId (Se hereda de Attribute.)

Arriba

Métodos

  Nombre Descripción
Método público {dtor} Libera todos los recursos que utiliza SafeToPrepareAttribute.
Método público Equals (Se hereda de Attribute.)
Método público GetHashCode (Se hereda de Attribute.)
Método público GetType (Se hereda de Object.)
Método público IsDefaultAttribute (Se hereda de Attribute.)
Método público Match (Se hereda de Attribute.)
Método público ToString (Se hereda de Object.)

Arriba

Implementaciones de interfaces explícitas

  Nombre Descripción
Implementación de interfaces explícitasMétodo privado System#Runtime#InteropServices#_Attribute#GetIDsOfNames (Se hereda de Attribute.)
Implementación de interfaces explícitasMétodo privado System#Runtime#InteropServices#_Attribute#GetTypeInfo (Se hereda de Attribute.)
Implementación de interfaces explícitasMétodo privado System#Runtime#InteropServices#_Attribute#GetTypeInfoCount (Se hereda de Attribute.)
Implementación de interfaces explícitasMétodo privado System#Runtime#InteropServices#_Attribute#Invoke (Se hereda de Attribute.)

Arriba

Comentarios

Si una función definida por el usuario (UDF) devuelve DataTable, la UDF debe poder preparar la ejecución ejecutándose con la propiedad ExecuteForPrepare establecida en true. Para preparar la ejecución, la UDF debe determinar la estructura de DataTable necesaria que se va a devolver y devolver un DataTable vacío que tenga una estructura correcta.

Ejemplos

En el ejemplo siguiente, una UDF simple crea un DataTable. Si la UDF se ejecuta con la propiedad ExecuteForPrepare establecida en true, la UDF vuelve a una versión vacía del DataTable. Si la UDF se ejecuta con la propiedad ExecuteForPrepare establecida en false, la UDF continúa, rellena el DataTable y devuelve el DataTable relleno.

[SafeToPrepare(true)]
public System.Data.DataTable GetPreparedTable()
{
    System.Data.DataTable results = new System.Data.DataTable();
    results.Columns.Add("A", typeof(int));
    results.Columns.Add("B", typeof(string));

    if (Context.ExecuteForPrepare)
    {
        // If preparing, return just the schema with no data
        return results;
    }

    //Otherwise return data
    object[] row = new object[2];
    row[0] = 1;
    row[1] = "A";
    results.Rows.Add(row);

    row[0] = 2;
    row[1] = "B";
    results.Rows.Add(row);

    return results;
}

Seguridad para subprocesos

Cualquier miembro público static (Shared en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Vea también

Referencia

Espacio de nombres Microsoft.AnalysisServices.AdomdServer