Metodo LocalReport.ExecuteReportInCurrentAppDomain

Nota: questa API è obsoleta.

Determina l'esecuzione delle espressioni e delle estensioni per l'elaborazione del rapporto nell'oggetto AppDomain corrente.

Spazio dei nomi  Microsoft.Reporting.WebForms
Assembly:  Microsoft.ReportViewer.WebForms (in Microsoft.ReportViewer.WebForms.dll)

Sintassi

'Dichiarazione
<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 ExecuteReportInCurrentAppDomain ( _
    reportEvidence As Evidence _
)
'Utilizzo
Dim instance As LocalReport
Dim reportEvidence As Evidence

instance.ExecuteReportInCurrentAppDomain(reportEvidence)
[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 ExecuteReportInCurrentAppDomain(
    Evidence reportEvidence
)
[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 ExecuteReportInCurrentAppDomain(
    Evidence^ reportEvidence
)
[<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 ExecuteReportInCurrentAppDomain : 
        reportEvidence:Evidence -> unit 
public function ExecuteReportInCurrentAppDomain(
    reportEvidence : Evidence
)

Parametri

Osservazioni

Nota importanteImportante

Questo metodo è stato deprecato per .NET Framework 4 in quanto la funzionalità di sicurezza dall'accesso di codice (CAS) su cui si basa è stata deprecata in .NET Framework 4. Al contrario, il controllo ReportViewer viene sempre eseguito nel dominio applicazione in modalità sandbox. Utilizzare AddFullTrustModuleInSandboxAppDomain e SetBasePermissionsForSandboxAppDomain. Se si desidera continuare a utilizzare questo metodo con .NET Framework 4, è necessario utilizzare l'elemento di configurazione <NetFx40_LegacySecurityPolicy> nel file Web.config dell'applicazione ASP.NET. In caso contrario, questo metodo genererà un oggetto InvalidOperationException.

Per ulteriori informazioni, vedere Code Access Security Policy Compatibility and Migration.

Le espressioni del rapporto verranno eseguite nell'oggetto AppDomain corrente esclusivamente con il flag di autorizzazione di sicurezza Esecuzione. Per impostazione predefinita, gli assembly personalizzati non sono consentiti in questa modalità. Questa è la modalità predefinita in .NET Framework 3.5 e rappresenta la modalità da utilizzare per i rapporti attendibili. Per informazioni sulle modalità del dominio applicazione predefinito nelle diverse versioni di .NET Framework, vedere la tabella riportata di seguito.

Versione di .NET Framework

LegacySecurityPolicy abilitato?

Dominio applicazione predefinito

Modalità utilizzabili per il dominio applicazione

4

No (impostazione predefinita)

Sandbox

Sandbox

4

Corrente

Sandbox e corrente

3.5

N/D

Corrente

Sandbox e corrente

Questa modalità può inoltre essere utilizzata per eseguire rapporti non attendibili che utilizzano estensioni per l'elaborazione attendibili.

Per consentire l'utilizzo di estensioni per l'elaborazione attendibili, è necessario che l'applicazione chiami il metodo AddTrustedCodeModuleInCurrentAppDomain.

Esempi

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 rapporto.

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 rapporto con l'assembly personalizzato nell'attuale AppDomain.

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");

Vedere anche

Riferimento

LocalReport Classe

Spazio dei nomi Microsoft.Reporting.WebForms