Ошибки в Web

отредактировано 08:51 Раздел: FastReport .NET
Выполняем отчеты с помощью Web.
периодически отчет падает с ошибкой

Path cannot be null.
Parameter name: path at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
at FastReport.Preview.PreparedPages.Save(String fileName)
at FastReport.Report.SavePrepared(String fileName)
at FastReportProcessor.Workers.Items.PrepareReportWorker.RunWork(Dictionary`2 inParameters, Dictionary`2& outParameters)

Отловить проблему достаточно сложно.
В коде используем отправку на єл. почту в случае если в отчете есть данные (ниже код).
namespace FastReport
{
public class ReportScript
{


public void sendMail ()
{
Report report = new Report();
report.Prepare();
PDFExport pdfExport = new PDFExport();
EmailExport export = new EmailExport();
export.Account.Host = "MAIL.TEST.COM"; //SERVERNAME
export.Account.Address = "test_1@test.com";
export.Subject = "Автоматически сформированный отчет";
export.MessageBody = "В атаче автоматически сформированный отчет в PDF формате";
DataSourceBase ds = Report.GetDataSource("Table");
ds.Init();
int i = 0;
while (ds.HasMoreRows)
{
i++;
ds.Next();
}

DataSourceBase ds1 = Report.GetDataSource("Table1");
ds1.Init();
while (ds1.HasMoreRows)
{
i++;
ds1.Next();
}

string productName = "'test@test.com'";
export.Address = Replace(productName,"'","");
export.Export = pdfExport;
if (i>0) { export.SendEmail(Report);};

}
private void _FinishReport(object sender, EventArgs e)
{
sendMail();
}

}
}


Если код отсутсвует ошибка не появляется

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.