Почему время ожидания моего веб-приложения с использованием Microsoft.Office.Interop.Word? - PullRequest
0 голосов
/ 21 февраля 2011

Я использую Microsoft.Office.Interop.Word в моем веб-сервере (да, я знаю, что это не рекомендуется).Когда я запускаю его на своем компьютере, он работает нормально, но при работе на сервере я получаю таймаут в следующей строке:

Documents.Open //when trying to open the file.

Есть ли что-то, что я пропускаю?Есть ли лучший способ редактировать документ Word на веб-серверах / веб-сайтах?(Я не могу создать новый, используя построитель строк или вывод в файл; мне нужно отредактировать существующий, который находится на сервере.)

Любой ввод будет оценен, так как я застрял на этом дляуже несколько дней ...

Ответы [ 5 ]

0 голосов
/ 04 июля 2016

разрешений, разрешений и разрешений, гугл например офисное взаимодействие DCOMCNFG

0 голосов
/ 18 февраля 2016

У меня были автоматизированные офисные приложения, работающие на серверах с тех пор, как Office 97 вышел без проблем, как на C ++, так и на C #. Они генерируют несколько сотен отчетов каждый день, как в очереди, так и по запросу, в нескольких форматах, в зависимости от требований, и все они определяются расширением вывода (doc / docx, xls / xlsx, pdf, html, bmp, jpg) из текстовых шаблонов и DataTables, сгенерированные из функций в общих сборках.

Зависания автоматизации обычно вызваны неверными или отсутствующими аргументами, а на веб-серверах и серверах автоматизации запись в журнал событий является ключом к определению места возникновения проблем. Создайте хорошую многократно используемую библиотеку функций для автоматизации и протестируйте их. Тогда использовать его в других проектах тривиально, и вы не будете тратить время на постоянное решение проблем.

0 голосов
/ 18 февраля 2012

Если вы можете использовать приложения Office на сервере, это еще не значит, что вы должны это делать. Среди проблем заключается в том, что автоматизация Office является однопоточным.

Джон Сондерс прав, что коммерческие продукты - хороший способ создать документ Word на сервере. Aspose делает продукт, который делает это, как и их конкурент, SoftArtisans, с которым я работал в течение короткого времени. Хотя я знаю о продуктах с открытым исходным кодом, которые могут создавать файлы Excel, я не нашел ни одного для Word.

Последний бит: API для форматов файлов .xlsx и .docx являются общедоступными. Однако они не очень просты в использовании.

0 голосов
/ 02 сентября 2015

Я думаю, что у вас нет Office на сервере. Лучший способ - использовать DocX для изменения файлов docx. https://docx.codeplex.com/

     using (DocX document = DocX.Load(filename))
        {
            document.ReplaceText(a, b);
            document.Save();
        } 
0 голосов
/ 21 февраля 2011

Никогда не используйте приложения Office из серверного приложения. Это не поддерживается, вполне возможно, незаконно и в любом случае не работает.

...