Поделиться через


Метод LocalReport.ExecuteReportInCurrentAppDomain

Задает для модулей обработки данных и выражений в отчете выполнение в текущем домене AppDomain.

Пространство имен: Microsoft.Reporting.WebForms
Сборка: Microsoft.ReportViewer.WebForms (в microsoft.reportviewer.webforms.dll)

Синтаксис

'Декларация
'Применение

параметры

  • reportEvidence
    Объект Evidence, содержащий сведения по безопасности для отчета.

Замечания

Выражения в отчете будут выполняться в текущем домене AppDomain с единственным флагом разрешения Execution. По умолчанию в этом режиме не допускаются пользовательские сборки. Этот режим используется по умолчанию и предназначен для доверенных отчетов.

Этот режим может использоваться и для выполнения отчетов, которые не являются доверенными, но используют доверенные модули обработки данных.

Чтобы включить доверенные модули обработки данных, приложение должно вызвать метод AddTrustedCodeModuleInCurrentAppDomain.

Примеры

В этом примере в качестве выражения в отчете используется пользовательская сборка, содержащая простую служебную функцию, которая считывает данные из текстового файла.

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;
    }
}

Следующий код используется, чтобы разрешить выполнение отчета с пользовательской сборкой в текущем домене 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");

См. также

Справочник

Класс LocalReport
Члены LocalReport
Пространство имен Microsoft.Reporting.WebForms