ASP.NETを使用してMATLAB関数のWebユーザーインターフェイスを開発しています。私はデモの勉強から始めて、そのような問題にこだわっています。
MATLAB 2010a、ターゲットフレームワーク-3.5のdeploytoolを使用してMyComponent.dllアセンブリを作成しました。このコンポーネントには、図を返す1つの関数GetKnot()があります。
function df = getKnot()
f = figure('Visible', 'off');
knot;
df = webfigure(f);
close(f);
end
次に、Visual Studio 2008 sp1で、1ページのDefault.aspxのみを使用して単純なWebアプリを作成しました。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();
}
}
}
このページをVisualStudioの開発Webサーバーで実行すると、すべてが正常に機能します。
しかし、Win7x32で実行されているローカルのiis7.5にWebfigureを展開しようとすると、iisアプリプールがクラッシュします。システムイベントログに「プロセスサービングアプリケーションプール「Classic.NETAppPool」でWindowsプロセスアクティベーションサービスとの致命的な通信エラーが発生しました。プロセスIDは「3676」でした。データフィールドにエラー番号6D000780が含まれています」というエントリがあります。これは、MyComponentがインスタンス化されているときに発生します。
IISに移行したときに何を忘れることができますか?
魔方陣コンソールアプリケーションのような他の例は完璧に実行され、すべてのmatlabコンポーネントがインスタンス化されますが、IIS環境では実行されません。
編集:Windows7とMATLAB2009bを使用して仮想マシンを展開し、同じ例を試しました。すべてが正常に動作します。:(。多分それはMATLAB2010の問題ですか?