UdfMethodAttribute.ReturnsPersonalInformation - Propriété
Spécifie que la méthode de fonction définie par l'utilisateur (UDF) peut retourner des informations en fonction de l'utilisateur actuel, l'exécution de la session.
Espace de noms : Microsoft.Office.Excel.Server.Udf
Assembly : Microsoft.Office.Excel.Server.Udf (dans Microsoft.Office.Excel.Server.Udf.dll)
Syntaxe
'Déclaration
Public Property ReturnsPersonalInformation As Boolean
Get
Set
'Utilisation
Dim instance As UdfMethodAttribute
Dim value As Boolean
value = instance.ReturnsPersonalInformation
instance.ReturnsPersonalInformation = value
public bool ReturnsPersonalInformation { get; set; }
Valeur de propriété
Type : System.Boolean
Si true, Services de calcul Excel permet de s'assurer que le principal actuel du thread a la valeur correcte avant d'appeler le UDF. Si false, Services de calcul Excel masquer l'identité de l'utilisateur. La valeur par défaut est false.
Remarques
Un fichier UDF qui définit cette propriété sur true peut utiliser la propriété Name de l'interface System.Threading.Thread.CurrentPrincipal.Identity , pour obtenir le nom de l'utilisateur au nom duquel le code est en cours d'exécution.
Pour ReturnsPersonalInformation=false, Services de calcul Excel masquer l'identité de l'utilisateur en définissant l'entité de sécurité actuelle du thread à une entité de sécurité vide.
Pour ReturnsPersonalInformation=true, Services de calcul Excel garantit que principal actuel du thread a la valeur correcte avant d'appeler le UDF.
Pour le recalcul, une UDF qui est marquée comme étant le renvoi d'informations personnelles (c'est-à-dire, ReturnsPersonalInformation=true) est toujours à nouveau appelée lorsque les résultats précédents n'existent pas pour le même utilisateur.
Si vous devez être en mesure d'accéder à l'identité de l'utilisateur qui est l'exécution de la demande d'une session (et par conséquent l'exécution du fichier UDF) ou l'identité du thread, définissez la propriété ReturnsPersonalInformation à true.
Il est important de définir cette propriété sur true même dans les cas où vous ne sont pas explicitement référence à l'identité de thread. Par exemple, si l'acquisition d'informations personnelles à partir d'une base de données à l'aide de la sécurité intégrée ou une autre manière d'obtenir des informations spécifiques à l'utilisateur, voulu à effectuer la mise en cache correcte et par conséquent, vous devez définir cette propriété à true.
Exemples
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