Méthode LocalReport.AddTrustedCodeModuleInCurrentAppDomain
Remarque : cette API est désormais obsolète.
Ajoute l'assembly fourni à la liste des assemblys dont l'exécution est approuvée dans l'objet AppDomain actuel.
Espace de noms : Microsoft.Reporting.WebForms
Assembly : Microsoft.ReportViewer.WebForms (en Microsoft.ReportViewer.WebForms.dll)
Syntaxe
'Déclaration
<ObsoleteAttribute("This method requires Code Access Security policy, which is deprecated. For more information please go to https://go.microsoft.com/fwlink/?LinkId=160787.")> _
Public Sub AddTrustedCodeModuleInCurrentAppDomain ( _
assemblyName As String _
)
'Utilisation
Dim instance As LocalReport
Dim assemblyName As String
instance.AddTrustedCodeModuleInCurrentAppDomain(assemblyName)
[ObsoleteAttribute("This method requires Code Access Security policy, which is deprecated. For more information please go to https://go.microsoft.com/fwlink/?LinkId=160787.")]
public void AddTrustedCodeModuleInCurrentAppDomain(
string assemblyName
)
[ObsoleteAttribute(L"This method requires Code Access Security policy, which is deprecated. For more information please go to https://go.microsoft.com/fwlink/?LinkId=160787.")]
public:
void AddTrustedCodeModuleInCurrentAppDomain(
String^ assemblyName
)
[<ObsoleteAttribute("This method requires Code Access Security policy, which is deprecated. For more information please go to https://go.microsoft.com/fwlink/?LinkId=160787.")>]
member AddTrustedCodeModuleInCurrentAppDomain :
assemblyName:string -> unit
public function AddTrustedCodeModuleInCurrentAppDomain(
assemblyName : String
)
Paramètres
- assemblyName
Type : System.String
Nom de l'assembly à ajouter.
Notes
Important
Cette méthode est déconseillée pour le .NET Framework 4, car la fonctionnalité de sécurité d'accès du code (CAS, Code Access Security) sur laquelle elle s'appuie est déconseillée dans le .NET Framework 4. À la place, le contrôle ReportViewer s'exécute toujours dans le domaine d'application sandbox. Vous devez utiliser AddFullTrustModuleInSandboxAppDomain et SetBasePermissionsForSandboxAppDomain. Si vous souhaitez continuer à utiliser cette méthode avec .NET Framework 4, vous devez utiliser l'élément de configuration <NetFx40_LegacySecurityPolicy> dans le fichier Web.config de votre application ASP.NET. Sinon, cette méthode lève une InvalidOperationException.
Cette méthode continuera à fonctionner avec .NET Framework 3.5.
Pour plus d'informations, consultez Code Access Security Policy Compatibility and Migration.
Les expressions présentes dans le rapport seront exécutées dans l'objet AppDomain actuel avec uniquement l'indicateur d'autorisation de sécurité Execution. Par défaut, les assemblys personnalisés ne sont pas autorisés dans ce mode. La méthode AddTrustedCodeModuleInCurrentAppDomain peut être utilisée pour autoriser l'utilisation d'assemblys personnalisés dans l'objet AppDomain actuel.
Le nom de l'assembly transmis dans le paramètre assemblyName doit correspondre à celui spécifié dans l'élément CodeModule du fichier de définition de rapport.
Exemples
Dans cet exemple, un assembly personnalisé contenant une fonction utilitaire simple qui calcule des factorielles est utilisé comme expression dans un rapport.
public class Util
{
public static int Factorial(int n)
{
return ((n <= 1) ? 1 : (n * Factorial(n - 1)));
}
}
Le code ci-dessous permet d'ajouter l'assembly personnalisé à l'objet AppDomain actuel.
reportViewer.LocalReport.ReportPath = "Report1.rdlc";
reportViewer.LocalReport.AddTrustedCodeModuleInCurrentAppDomain(
"Contoso.Utilities,
Version=1.0.271.0, Culture=neutral,
PublicKeyToken=89012dab8080cc90");
Pour plus d'informations sur les assemblys personnalisés, consultez « Utilisation des assemblys personnalisés avec des rapports » dans la documentation en ligne de SQL Server.