Compartir a través de


de la propiedad UdfMethodAttribute.ReturnsPersonalInformation

Especifica que el método de la función definida por el usuario (UDF) puede devolver información basada en el usuario actual ejecutando la sesión.

Espacio de nombres:  Microsoft.Office.Excel.Server.Udf
Ensamblado:  Microsoft.Office.Excel.Server.Udf (en Microsoft.Office.Excel.Server.Udf.dll)

Sintaxis

'Declaración
Public Property ReturnsPersonalInformation As Boolean
    Get
    Set
'Uso
Dim instance As UdfMethodAttribute
Dim value As Boolean

value = instance.ReturnsPersonalInformation

instance.ReturnsPersonalInformation = value
public bool ReturnsPersonalInformation { get; set; }

Valor de propiedad

Tipo: System.Boolean
Si true, Excel Calculation Services , asegura el principal del subproceso actual tiene el valor correcto antes de llamar a la FDU. Si false, Excel Calculation Services oculta la identidad del usuario. El valor predeterminado es false.

Comentarios

Un archivo UDF que establece esta propiedad en true puede utilizar la propiedad Name de la interfaz System.Threading.Thread.CurrentPrincipal.Identity obtener el nombre del usuario en cuyo nombre el código se está ejecutando.

  • Para ReturnsPersonalInformation=false, Excel Calculation Services oculta la identidad del usuario al establecer al principal del subproceso actual en una identidad de vacía.

  • Para ReturnsPersonalInformation=true, Excel Calculation Services garantiza que el principal del subproceso actual tiene el valor correcto antes de llamar a la FDU.

Para cálculo de nuevo, un archivo UDF que está marcado como devolver información personal (es decir, ReturnsPersonalInformation=true) siempre se llama otra vez cuando no existen resultados anteriores para el mismo usuario.

Si necesita ser capaz de tener acceso a la identidad del usuario que se ejecuta la solicitud en una sesión (y así ejecutando el archivo UDF) o la identidad del subproceso, establezca la propiedad de ReturnsPersonalInformation a true.

Es importante establecer esta propiedad en true , incluso en los casos donde no se explícitamente hace referencia a la identidad del subproceso. Por ejemplo, si adquiere la información personal de una base de datos mediante la seguridad integrada, o alguna otra forma de obtener información específica del usuario, que desea que se realizará el almacenamiento en caché correcto y, por tanto, debe establecer esta propiedad en true.

Ejemplos

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Excel.Server.Udf;
using System.Web;
using System.Security.Principal;

namespace DatabaseAccessUdfsReturnPersonalInformation
{
    [UdfClass]
    public class DatabaseAccessUdfs 
    {
        [UdfMethod(ReturnsPersonalInformation=true)]
        public string GetUserName()
        {
            return 
              (System.Threading.Thread.CurrentPrincipal.Identity.Name);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.Office.Excel.Server.Udf
Imports System.Web
Imports System.Security.Principal

Namespace DatabaseAccessUdfsReturnPersonalInformation
    <UdfClass>
    Public Class DatabaseAccessUdfs
        <UdfMethod(ReturnsPersonalInformation:=True)>
        Public Function GetUserName() As String
            Return (System.Threading.Thread.CurrentPrincipal.Identity.Name)
        End Function
    End Class
End Namespace

Vea también

Referencia

clase UdfMethodAttribute

Miembros UdfMethodAttribute

Espacio de nombres Microsoft.Office.Excel.Server.Udf