2010-05-31 5 views
2

Je développe une interface utilisateur Web pour les fonctions MATLAB avec ASP.NET. J'ai commencé à étudier les démos et je me suis retrouvé avec un tel problème.MATLAB Builder NE plantage apppool sur IIS 7.5

J'ai créé un assemblage MyComponent.dll avec deploytool à partir de MATLAB 2010a, target framework - 3.5. Ce composant a une fonction GetKnot() qui renvoie un chiffre. Puis j'ai fait une simple webapp dans visual studio 2008 sp1, avec seulement une page Default.aspx. J'ai ajouté des références à MWArray.dll, WebFiguresService.dll et MyComponent.dll. Le CodeBehind est:

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(); 
     } 
    } 
} 

Quand je lance cette page sur le serveur Web de Visual Studio`s développement - tout va bien, les travaux de figure. Mais quand j'essaie de déployer webfigure sur mon iis local 7.5 qui fonctionne sur Win7 x32 - iis app pool se bloque. Il y a une entrée dans le journal des événements système "Un pool d'applications de traitement de processus '.NET AppPool' a subi une erreur de communication fatale avec le service d'activation de processus Windows '3676' Le champ de données contient le numéro d'erreur 6D000780". Cela se produit lorsque MyComponent instancie. Ce que je pourrais oublier quand déplacé à IIS?

D'autres exemples, comme l'application de console carrée magique, s'exécute parfaitement, et chaque composant matlab instanciation, mais pas dans l'environnement IIS. Edit: J'ai déployé une machine virtuelle avec Windows 7 et MATLAB 2009b, et j'ai essayé le même exemple. Tout fonctionne bien. :(Peut-être son problème MATLAB 2010

Répondre

3

J'ai rencontré ce même problème (MCR plantait AppPools dans Windows Server 2008) Il semble que ce soit un problème entre MCR et IIS 7. Après avoir pris contact avec le support de Mathworks . ils me ont informé que cela est causé par un bogue dans le MCR (concernant les autorisations de l'identité de AppPool « NetworkService ») J'ai reçu les suggestions suivantes:

pour contourner le problème, vous pouvez utiliser soit de les 2 étapes suivantes:

  1. Créer une variable d'environnement nommée MA TLAB_PREFDIR et laissez-le pointer vers un répertoire où NETWORK SERVICE a un accès en écriture. Ou,

  2. Créez un nouveau pool d'applications qui s'exécute sous l'identité "LocalSystem" (regardez sous "Paramètres avancés ..." du pool d'applications). Configurez ensuite votre application pour utiliser ce pool d'applications ("Paramètres de base ..." de votre application).

J'ai appliqué la deuxième suggestion et il a fixé mon problème. J'espère que cela aidera quelqu'un d'autre à se lancer dans le même problème.

+0

Vous n'avez plus à espérer. C'était très utile. Merci – Mariusz

+0

Selon MatWorks site Web configuration MATLAB_PREFDIR variable peut avoir plusieurs effets secondaires et n'est pas conseillé, sauf si absolument nécessaire: http://fr.mathworks.com/matlabcentral/answers/93696-how-do-i-changer -the-matlab-preferences-directory-location – Mariusz

Questions connexes