Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-10, 20:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 IIS 7.5上的MATLAB Builder NE崩溃apppool

我正在使用ASP.NET开发用于MATLAB函数的Web用户界面。我从研究演示开始,就陷入了这样的问题。

我使用来自目标框架-3.5的MATLAB 2010a的deploytool创建了MyComponent.dll程序集。该组件具有一个函数GetKnot(),该函数返回一个图形。

function df = getKnot() f = figure('Visible', 'off'); knot; df = webfigure(f); close(f); end 然后,我在Visual Studio 2008 sp1中制作了简单的webapp,只有一页Default.aspx。我添加了对MWArray.dll,WebFiguresService.dll和MyComponent.dll的引用。后面的代码是:

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的开发Web服务器上运行此页面时,一切正常,Figure正常工作。

但是,当我尝试在运行于Win7 x32的本地iis 7.5上部署webfigure时,iis应用程序池崩溃。系统事件日志中有一个条目“为应用程序池'Classic .NET AppPool提供服务的进程与Windows Process Activation Service发生致命的通信错误。进程ID为'3676'。数据字段包含错误号6D000780”。当MyComponent实例化时,会发生这种情况。

移到IIS时我会忘记什么?

其他示例(例如魔方控制台应用程序)可以完美运行,并且可以实例化每个matlab组件,但不能在IIS环境中。

编辑:我使用Windows 7和MATLAB 2009b部署了虚拟机,并尝试了相同的示例。一切正常。 :(。也许是MATLAB 2010问题?



回答:

我遇到了完全相同的问题(MCR在Windows Server 2008中使AppPools崩溃)。这似乎是MCR和IIS 7之间的问题。联系Mathworks支持人员之后,他们告诉我这是MCR中的错误(与“ NetworkService” AppPool身份的权限有关)。我收到以下建议:
要变通解决此问题,您可以使用以下两个步骤之一:
  1. 创建一个名为MATLAB_PREFDIR的环境变量,并使其指向NETWORK SERVICE具有写访问权的目录。要么,
  2. 创建一个在“ LocalSystem”标识下运行的新应用程序池(在应用程序池的“高级设置...”下查看)。然后配置您的应用程序以使用该应用程序池(应用程序的“基本设置...”)。
我应用了第二个建议,它解决了我的问题。我希望这对遇到同样问题的其他人有所帮助。



更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 01:15


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.