Determina l'esecuzione delle estensioni per l'elaborazione e delle espressioni del report nell'oggetto
AppDomain corrente.
Spazio dei nomi: Microsoft.Reporting.WebForms
Assembly: Microsoft.ReportViewer.WebForms (in microsoft.reportviewer.webforms.dll)
Visual Basic (Dichiarazione)
Public Sub ExecuteReportInCurrentAppDomain ( _
reportEvidence As Evidence _
)
Dim instance As LocalReport
Dim reportEvidence As Evidence
instance.ExecuteReportInCurrentAppDomain(reportEvidence)
public void ExecuteReportInCurrentAppDomain (
Evidence reportEvidence
)
public:
void ExecuteReportInCurrentAppDomain (
Evidence^ reportEvidence
)
public void ExecuteReportInCurrentAppDomain (
Evidence reportEvidence
)
public function ExecuteReportInCurrentAppDomain (
reportEvidence : Evidence
)
Parametri
- reportEvidence
Oggetto Evidence contenente le informazioni di protezione relative al report.
Le espressioni del report verranno eseguite nell'AppDomain corrente con il solo flag di autorizzazione di protezione Execution. Per impostazione predefinita, gli assembly personalizzati non sono consentiti in questa modalità. Questa è la modalità predefinita, che è inoltre necessario utilizzare per i report attendibili.
Tale modalità può inoltre essere utilizzata per l'esecuzione di report non attendibili che non utilizzano estensioni per l'elaborazione non attendibili.
Per consentire l'utilizzo di estensioni per l'elaborazione attendibili, è necessario che l'applicazione chiami il metodo AddTrustedCodeModuleInCurrentAppDomain.
In questo esempio un assembly personalizzato contenente una semplice funzione di utilità per la lettura di dati da un file di testo viene utilizzato come espressione in un report.
using System.IO;using System.Reflection;public class Util{ public static string GetData() { StreamReader sr = new StreamReader("data.txt"); string data = sr.ReadToEnd(); sr.Close(); return data; }}
Il codice seguente viene utilizzato per consentire l'esecuzione del report con l'assembly personalizzato nell'AppDomain corrente.
reportViewer.LocalReport.ReportPath = "Report1.rdlc";reportViewer.LocalReport.ExecuteReportInCurrentAppDomain( Assembly.GetExecutingAssembly().Evidence);reportViewer.LocalReport.AddTrustedCodeModuleInCurrentAppDomain("Contoso.Utilities, Version=1.0.271.0, Culture=neutral, PublicKeyToken=89012dab8080cc90");