Я разрабатываю веб-интерфейс для функций MATLAB с ASP.NET. Я начал с изучения демо и застрял с такой проблемой.
Я создал сборку MyComponent.dll с deploytool из MATLAB 2010a, целевой фреймворк - 3.5. Этот компонент имеет одну функцию GetKnot (), которая возвращает фигуру.
function df = getKnot()
f = figure('Visible', 'off');
knot;
df = webfigure(f);
close(f);
end
Затем я сделал простое веб-приложение в visual studio 2008 sp1, с одной страницей Default.aspx.
Я добавил ссылки на MWArray.dll, WebFiguresService.dll и MyComponent.dll.
CodeBehind это:
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MyComponent;
using MathWorks.MATLAB.NET.WebFigures;
namespace MATLAB_WebApplication
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var myComponentClass = new MyComponentClass();
var x = myComponentClass.getKnot();
WebFigureControl1.WebFigure = new WebFigure();
}
}
}
Когда я запускаю эту страницу на веб-сервере разработки Visual Studio - все в порядке, рисунок работает.
Но когда я пытаюсь развернуть webfigure на моем локальном iis 7.5, который работает на Win7 x32, - происходит сбой пула приложений iis. В журнале системных событий есть запись «Пул приложения, обслуживающего процесс,« Classic .NET AppPool »столкнулся с фатальной ошибкой связи со службой активации процессов Windows. Идентификатор процесса был 3676. Поле данных содержит номер ошибки 6D000780». Это происходит, когда MyComponent создается.
Что я мог забыть, когда перешел на IIS?
Другие примеры, такие как консольное приложение «Магический квадрат», работают отлично, и каждый компонент Matlab создается, но не в среде IIS.
Редактировать: я развернул виртуальную машину с Windows 7 и MATLAB 2009b и попробовал тот же пример. Все отлично работает :(. Может, это выпуск MATLAB 2010?