Как использовать функцию Matlab с использованием Matlab Production Server в коде C #? - PullRequest
0 голосов
/ 27 мая 2019

В настоящее время я создаю приложение матричного калькулятора в ядре 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, но не было обработано в коде пользователя'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...