У нас есть классическая страница ASP, которая создает экземпляр объекта .Net через интерфейс COM. Долгое время он работал нормально, но в выходные мы применили некоторые обновления Windows, и он больше не работает надежно в нашей производственной среде. Иногда это работает, иногда нет, и кажется случайным, когда работает. Он не дает сбоя в тестовой среде или даже на производственных серверах, когда мы вынимаем их из кластера (кажется, что происходит сбой только под нагрузкой).
Ошибка «-2147024894 - файл или сборка с именем FusionEngine или одной из его зависимостей не найдены». Число, преобразованное в гекс - 80070002.
Мы создали тестовую страницу, которая довольно проста. По сути, он просто создает экземпляр объекта и вызывает для его отображения простое свойство.
<%
On Error Resume Next
set oFusion = Server.CreateObject("Fusion.Engine")
%>
Error: <%=err.Number%> - <%=err.Description%><br>
[<%=oFusion.DPI%>]<br>
Мы попытались воссоздать объект, если была обнаружена ошибка (10 раз с интервалом в 1 секунду), но если он не работает один раз, он также не работает 10 раз.
Объект слияния очень прост. Он ссылается только на System.dll и System.Drawing.dll (генерирует изображения).