Метод 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