При записи интерфейсов.NET, чтобы вызвать код MATLAB®, помните эти инструкции:
Имя метода, представленное интерфейсом, должно совпадать с именем развертываемой функции MATLAB. Метод должен иметь то же количество вводов и выводов как функция MATLAB.
Типы ввода и вывода метода должны быть конвертируемыми к и из MATLAB.
Количество вводов и выводов должно быть совместимо с поддержанными MATLAB.
Если вы работаете со структурами MATLAB, помните, что имена полей являются чувствительными к регистру и должны соответствовать и в функции MATLAB и в соответствующем пользовательском типе.NET.
Имя интерфейса может быть любым допустимым именем.NET.
Ваш код должен поддержать обработку исключений.
Завершите эти шаги, чтобы подготовить вашу среду разработки.NET MATLAB Production Server™.
Установите Microsoft Visual Studio. См. https://www.mathworks.com/support/compilers/current_release/ для актуального списка поддерживаемого программного обеспечения, включая ИДЫ и Microsoft®.NET Frameworks.
Проверьте, что ваше приложение развертывается на рабочем экземпляре сервера.
Необходимо объявить исключения для следующих ошибок:
Для этой ошибки | Используйте этот метод | Объявить это исключение |
---|---|---|
Ошибки MATLAB | MATLABException | MathWorks.MATLAB.ProductionServer.Client. MWClient.MATLABException |
Транспортные ошибки, происходящие во время коммуникации клиент-сервер | WebException | System.Net.WebException |
Связи между клиентом.NET и серверами, с которыми это взаимодействует, управляемы одним или несколькими экземплярами MWHttpClient
. Можно использовать один экземпляр, чтобы связаться больше чем с одним сервером, или можно создать несколько экземпляров, чтобы управлять несколькими серверами. Объекты прокси, созданное использование экземпляра MWHttpClient
, связываются с сервером, пока метод Dispose
того экземпляра не вызывается. Поэтому важно вызвать метод Dispose
только, когда экземпляр MWHttpClient
больше не необходим, чтобы исправить системные ресурсы.
Вызовите метод Dispose
на ненужных клиентских экземплярах, чтобы освободить нативные ресурсы, такие как открытые связи, созданные экземпляром MWHttpClient
.
Вы вызываете Dispose
любым из двух способов:
Вызовите Dispose
Непосредственно — Вызов метод непосредственно на объекте, ресурсы которого вы хотите освободить:
client.Dispose();
Ключевое слово using
— Неявно вызывает экземпляр Dispose
on theMWHttpClient
с ключевым словом using
. Путем выполнения этого вы не должны явным образом вызывать метод Dispose
— Среда.NET обрабатывает очистку для вас.
Следующее является фрагментом кода, который демонстрирует использование ключевого слова using
:
using (MWClient client = new MWHttpClient(new TestConfigDispose())) { // Use client to create proxy instances and invoke // MATLAB functions.... }
Вызов Располагает на экземплярах завершений MWClient
все открытые сокеты, связанные с экземпляром.
Для получения информации относительно поддерживаемых типов MATLAB для маршалинга клиент-сервера, смотрите Неподдерживаемые типы данных MATLAB для Маршалинга Клиент-сервера
Документ API для клиента.NET установлен в
.$MPS_INSTALL/client