powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Microsoft.Office.Interop.Word + ASP.NET
5 сообщений из 5, страница 1 из 1
Microsoft.Office.Interop.Word + ASP.NET
    #35027701
IvanNoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При использовании ASP.NET + Microsoft.Office.Interop.Word (12) постоянно выскакивает ошибка

Error - The message filter indicated that the application is busy. (Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))

      Microsoft.Office.Interop.Word.Application wap;
        wap = (Microsoft.Office.Interop.Word.Application)Activator.CreateInstance(Type.GetTypeFromProgID("Word.Application"));
        //Microsoft.Office.Interop.Word.Application;
        object templateName = new object();
        FileStream file;
        if (!defTemplate)
        {
            templateName = "D:\\!VirtualPath\\e-vko.gov.kz - !services\\temp\\temp_" + DateTime.Now.Millisecond.ToString() + "_" +
                        DateTime.Now.Second.ToString() + "_" + DateTime.Now.Hour.ToString() + ".dot";
            file = new FileStream(templateName.ToString(), FileMode.Create);
            file.Write(templateByte, 0, templateByte.Length);
            file.Close();
        }
        else
            templateName = "D:\\!VirtualPath\\e-vko.gov.kz - !services\\temp\\Normal__.dot";
        
        

        object fileName = "D:\\!VirtualPath\\e-vko.gov.kz - !services\\temp\\temp_" + DateTime.Now.Millisecond.ToString() + "_" +
                    DateTime.Now.Second.ToString() + "_" + DateTime.Now.Hour.ToString() + ".doc";
        object missing = Type.Missing;

        Document doc;
        doc = wap.Documents.Add(ref templateName, ref missing, ref missing, ref missing);
        foreach (DictionaryEntry tag in tags)
        {
            foreach (Bookmark bm in doc.Bookmarks)
                if (bm.Name == tag.Key.ToString())
                    bm.Range.Text = tag.Value.ToString();
        }
        object saveFormat = WdSaveFormat.wdFormatDocument97;
        doc.SaveAs(ref fileName, ref saveFormat, ref missing, ref missing,
                   ref missing, ref missing, ref missing, ref missing,
                   ref missing, ref missing, ref missing, ref missing,
                   ref missing, ref missing, ref missing, ref missing);
       doc.Close(ref missing, ref missing, ref missing);
        wap.Quit(ref missing, ref missing, ref missing);

        file = new FileStream(fileName.ToString(), FileMode.Open);
        byte[] content = new byte[file.Length];
        file.Read(content, 0, (int)file.Length);
        file.Close();
        File.Delete(fileName.ToString());
        if (!defTemplate)
            File.Delete(templateName.ToString());
        Response.Clear();
        Response.BinaryWrite(content);
        Response.ContentType = "application/msword";
        Response.AppendHeader("content-disposition", "attachment; filename=Blanc.doc");

Ошибка на первом методе объекта document после его создания (коменчу перебор букмарков, он выдает исключение на SaveAs, коменчу и его - на Close). Причем самое интересное, сервер таки прорывает иногда, и все начинает прекрасно работать (вообще эта ошибка начала лезть после месяца примерно стабильной работы - попробовал на другом железе - то же).

Нашел вроде как что MS не рекомендует Com объекты Office из под ASP.NET
(http://sadeveloper.net/forums/thread/5852.aspx)

Может быть кто сталкивался. Или есть альтернативные компаненты (желательно фри)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Microsoft.Office.Interop.Word + ASP.NET
    #37481011
p_Forsag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть результаты по этой ошибке ? Аналогичная проблема 1 в 1. Стала проявляться после перехода на Windows Server 2008. На 2003 все работало. Очень нужно, уже несколько недель по-маленьку бодаемся !!! Тому, кто поможет - пива :)
...
Рейтинг: 0 / 0
Microsoft.Office.Interop.Word + ASP.NET
    #37481052
Фотография n_string
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем же так грубо Word вызывать.
А ошибку вы не поборете, это политика безопасности.
...
Рейтинг: 0 / 0
Microsoft.Office.Interop.Word + ASP.NET
    #37481094
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут есть кое какие действия :
http://forums.iis.net/t/1180514.aspx

Но я все равно еще нигде не встречала записей о том, что эврика, заработало :)

пс. мы делали xsl-template+xml-data transform > document
...
Рейтинг: 0 / 0
Microsoft.Office.Interop.Word + ASP.NET
    #37481557
p_Forsag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообщем, оказалось все проще и сложнее одновременно. Ворд работал в фоновом режиме и при объеме от 500-1000 страниц выкидывал сообщение об ошибке проверки орфографии, типа буфер переполнился. В коде отключил проверку орфографии.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Microsoft.Office.Interop.Word + ASP.NET
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]