Мое веб-приложение хочет отправить файл в виде вложения в электронное письмо. Это вполне выполнимо; все, что я должен сделать, это указать путь к файлу. Но перед отправкой файла система должна создать файл - это отрендеренный отчет. Не имеет значения, где оно сохранено, поскольку оно будет во вложении. В таком случае я не могу понять, как написать этот файл. Он работает на моем локальном хосте, но не тогда, когда я запускаю его на сервере разработки нашей компании. Сообщение об ошибке 500; неописуемый и неизвестный.
Это часть обработчика событий, которая возникает, когда пользователь нажимает кнопку, чтобы сгенерировать отчет, который будет отправлен его боссу по электронной почте:
В этом фрагменте кода ext - это некоторое переменное трехбуквенное расширение файла, а content - это содержимое, возвращаемое значение выполнения Render для объекта ReportExecutionService:
var rptPath = HttpContext.Current.Server.MapPath(string.Format("Report.{0}", ext));
//using (var fs = new FileStream(rptPath, FileMode.OpenOrCreate, FileAccess.Write))
using (var fs = File.Create(rptPath))
{
fs.Write(content, 0, content.Length);
}
... в этот момент выдается исключение. Я предоставил привилегии на запись учетной записи NetworkService, щелкнув правой кнопкой мыши файловую систему сервера разработки и ослабив разрешения для этой учетной записи. Я также ослабил безопасность в IIS 6, где размещается веб-приложение на сервере разработки. Что еще нужно сделать? Я просто хочу выплюнуть файл .pdf в корневой веб-каталог.