В настоящее время я создаю приложение матричного калькулятора в ядре asp.net, и чтобы понять, что мне нужно получить функцию matlab из экземпляра производственного сервера matlab.
Тем не менее, у меня есть «Исключение отсутствующего метода» , когда я пытался получить свою функцию с помощью библиотеки MPS .net.
Я создал сервер Matlab так же, как объясняют учебники Mathworks: mps-new сервер , mps-setup , переместил мой файл .ctf ( скомпилировал функцию) в папке auto_deploy и запустил мой сервер с mps-start .
Вот соответствующая часть моего класса Controller, где мне нужно получить свою функцию:
MatrixController.cs :
public class MatrixController : Controller
{
string Exp;
IMatrixCalculator mc;
public interface IMatrixCalculator
{
double[,] MatrixCalculator(double[,] m1, double[,] m2, char op);
}
public IActionResult Matrix(Dictionary<char, string> Matrices, string Exp)
{
[...]
double[,] result = CalculationOfExpression(matrices, Exp);
[...]
return View(model);
}
private double [,] CalculationOfExpression(Dictionary<char, double[,]> matrices, string exp)
{
MWClient client = new MWHttpClient();
try
{
//I get my matlab function and also have my exception message here
mc = client.CreateProxy<IMatrixCalculator>
(new Uri("http://localhost:9910/matrixCalculator"));
}
[...]
}
}
Мой файл ctf называется matrixCalculator.ctf, поэтому адрес должен быть http://localhost:9910/matrixCalculator как написано, но он не работает.
Полное сообщение об исключении:
'Исключение типа' System.MissingMethodException 'произошло в MathWorks.MATLAB.ProductionServer.Client.dll, но не было обработано в коде пользователя'