Я использую платформу Mathematica .Net / Link для создания веб-службы для форматирования и вычисления математических задач. Однако я не могу заставить его работать.
Я создаю его, используя этот код:
_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();
Значение _MathLinkArguments
равно -linkmode launch -linkname \"C:\\Program Files\\Wolfram Research\\Mathematica\\7.0\\Math.exe\"
.
Этот фрагмент кода вызывается из метода Application_Start
файла global.asax.cs.
При получении вызова WaitAndDiscardAnswer()
выдается ошибка сервера:
Error code: 11. Connected MathLink program has closed the link, but there might still be data underway.
Примечание: SampleCode, предоставляемый с пакетом .NET / Link (консольное приложение и приложение WinForms), работает.
Edit:
Я скопировал пример кода консольного приложения, предоставленного Mathematica, на страницу asp.net, и он выдал мне ту же ошибку при первой загрузке, а затем при последующих загрузках:
Error code: 1. MathLink connection was lost.
Edit2:
Я забыл упомянуть, что когда я запускаю procmon и диспетчер задач во время работы моего приложения, я могу сказать, что Math.exe запускается, но он немедленно завершает работу, что делает код ошибки понятным ... но не объясняет, почему это произошло .