Estoy usando Mathematica .Net/Link platform para crear un servicio web para formatear y calcular problemas matemáticos. Sin embargo, no puedo hacerlo funcionar.Mathematica .Net/Link en una aplicación Asp.Net
que crearlo utilizando este código:
_Log.IpDebug("Starting the Kernel Link");
if (string.IsNullOrEmpty(_MathLinkArguments))
_InternelKernel = MathLinkFactory.CreateKernelLink();
else
_InternelKernel = MathLinkFactory.CreateKernelLink(_MathLinkArguments);
_Log.IpDebug("Kernel Link Started");
_InternelKernel.WaitAndDiscardAnswer();
El valor de _MathLinkArguments
es -linkmode launch -linkname \"C:\\Program Files\\Wolfram Research\\Mathematica\\7.0\\Math.exe\"
.
Este fragmento de código se llama desde el método Application_Start
del archivo global.asax.cs.
Cuando se llega a la llamada WaitAndDiscardAnswer()
que da el error de servidor:
Error code: 11. Connected MathLink program has closed the link, but there might still be data underway.
Nota: El SampleCode dado con el paquete .NET/Link (tanto una aplicación de consola y una aplicación de Windows Forms) funciona.
Editar: He copiado el código de ejemplo aplicación de consola dado con Mathematica en una página asp.net y me dio el mismo error la primera carga y luego en cargas posteriores me dio:
Error code: 1. MathLink connection was lost.
Edit2 : Olvidé mencionar que cuando tengo procmon y el administrador de tareas abierto mientras ejecuto mi aplicación, puedo decir que Math.exe se inicia pero sale inmediatamente, lo que hace que esos códigos de error tengan sentido ... pero no explica por qué eso pasó.
No es claro por su pregunta si funciona sin _MathLinkArguments especificados. ¿Comprobaste que la variable _InternelKernel no es nula? Estoy seguro de que sabías que linkname es solo una cadena, no tiene por qué ser tan complicado. Un identificador único está bien. ¿Funciona el siguiente en su Mathematica 'kernel = LinkLaunch [ " C: \\ Archivos de programa \\ Wolfram \ Research \\ Mathematica \\ 7.0 \\ MathKernel.exe "<> " -linkmode launch -linkname uniqueIdentifier123 "] ; Imprimir [ LinkRead [kernel]]; LinkClose [kernel] ' – Sasha
tampoco funciona sin _MathLinkArguments, pero el error es que simplemente se cuelga y nunca carga la página. Además, cuando ejecuto ese fragmento de código en Mathematica obtengo 'InputNamePacket [In [1]: =]' –
¿Intentó crear un programa de CS independiente con el equivalente del código publicado? Funciona ? – Sasha