Невозможно получить доступ к файлу, потому что он используется другим процессом

Мой веб-метод создает файл PDF в моей папке% temp%, и это работает. Затем я хочу добавить некоторые пользовательские поля (мета) в этот файл, используя код ниже.

КлассPdfStamper генерируетIOExceptionЯ использую его.Close() метод илиusing Блок просто заканчивается. Процесс, который все еще держится за дескриптор файла, - это сам веб-сервер webdev (ям отладки в VS2010 SP1).

private string AddCustomMetaData(string guid, int companyID, string filePath)
{
    try
    {
        PdfReader reader = new PdfReader(filePath);

        using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
        {
            PdfStamper st = new PdfStamper(reader, fs);
            Dictionary info = reader.Info;
            info.Add("Guid", guid);
            info.Add("CompanyID", companyID.ToString());

            st.MoreInfo = info;
            st.Close();
        }

        reader.Close();

        return guid;
    }
    catch (Exception e)
    {
        return e.Message;
    }
}

Независимо от того, что я пытаюсь, он бросает исключение вst.Close();, чтобы быть более точным:

Процесс не может получить доступ к файлуC: \ Users [мое имя пользователя] \ AppData \ Local \ Temp \ 53b96eaf-74a6-49d7-a715-6c2e866a63c3.pdf ' потому что он используется другим процессом.

Либо я'м с видом на что-то очевидное или тампроблема сPdfStamper класс I 'м, пока еще не в курсе. Используются версии itextsharp 5.3.3.0 и 5.4.0.0, проблема та же.

Любое понимание будет с благодарностью.

РЕДАКТИРОВАТЬ: Ям в настоящее времякодирование вокруг проблема, но у меня нетЯ не нашел никакого решения.

Ответы на вопрос(4)

Ваш ответ на вопрос