kakkkosa Ответов: 1

Получение исключения system outofmemory при создании объекта msproject. application


Привет,

Я пишу веб-приложение на C# для чтения и записи в файл MS Project. Когда я создаю экземпляр Microsoft.Офис.Взаимодействие.MSProject.Приложение, я получаю систему.Исключение Из Памяти. Я получаю это исключение при выполнении веб-страницы из IIS. На локальном хосте он работает нормально.

С уважением,
УУ

Что я уже пробовал:

Я попробовал выполнить приложение с localhost, оно работает. Он не работает над IIS.

Suvendu Shekhar Giri

Недостаточно информации для тренировки.

kakkkosa

ниже приведен мой код

Microsoft.Офис.Взаимодействие.MSProject.Приложение app = новый Microsoft.Офис.Взаимодействие.MSProject.Приложение();

апп.Используется fileopen(имя файла, тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует,
Тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует, MSProject.PjPoolOpen.pjPoolReadWrite, тип.Отсутствует, Тип.Отсутствует,
Тип.Отсутствует, Тип.Отсутствует);
приложение.Видна = ложь;
MSProject.Проект прое = приложение.ActiveProject;

proj. ProjectFinish = projenddate;
прой.Задачи[1].Отделка = projenddate;



приложение.FileSaveAs(именем, MSProject.PjFileFormat.pjMPP, тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует,
Тип. Отсутствует, Тип. Отсутствует, Тип. Отсутствует, Тип. Отсутствует, Тип. Отсутствует, Тип. Отсутствует, Тип. Отсутствует, Тип.Отсутствует, Тип. Отсутствует,
Тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует, Тип.Отсутствует);


приложение.Выход(Майкрософт.Офис.Взаимодействие.MSProject.PjSaveType.pjSave);
Система.Время Выполнения.InteropServices.Маршал.ReleaseComObject (приложение);
приложение = нуль;
СБОРЩИК МУСОРА.Собирать();



исключение происходит в самой первой строке.. Дайте мне знать, если вы можете предоставить более подробную информацию

1 Ответов

Рейтинг:
0

Bernhard Hiller

Программы Microsoft office небезопасны для использования в службах Windows / IIS. Вы должны использовать Microsoft.Офис.Библиотека взаимодействия работает только в том случае, если у вас есть программа с графическим интерфейсом, работающая в пользовательском сеансе.
Попробуйте найти библиотеку, которая может работать с файлами MS Project без вызова MS Project.
[Редактировать]
Смотреть также: https://support.microsoft.com/en-us/kb/257757[^]

В настоящее время корпорация Майкрософт не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любого автоматического, неинтерактивного клиентского приложения или компонента (включая ASP, ASP.NET, DCOM и NT Services), поскольку Office может демонстрировать нестабильное поведение и / или взаимоблокировку при запуске Office в этой среде.
Кстати, "OutOfMemoryException" часто является просто ошибочно переведенной ошибкой неуправляемого компонента.
[/Редактировать]


kakkkosa

Я не запускаю службу windows. Это веб-приложение. У него есть пользовательский интерфейс. Я получаю исключение, когда запускаю приложение с сервера. Он отлично работает, когда я выполняю его с локального хоста.