Клиент.NET, кодирующий лучшые практики

Статические интерфейсные инструкции прокси

При записи интерфейсов.NET, чтобы вызвать код MATLAB®, помните эти инструкции:

  • Имя метода, представленное интерфейсом, должно совпадать с именем развертываемой функции MATLAB. Метод должен иметь то же количество вводов и выводов как функция MATLAB.

  • Типы ввода и вывода метода должны быть конвертируемыми к и из MATLAB.

  • Количество вводов и выводов должно быть совместимо с поддержанными MATLAB.

  • Если вы работаете со структурами MATLAB, помните, что имена полей являются чувствительными к регистру и должны соответствовать и в функции MATLAB и в соответствующем пользовательском типе.NET.

  • Имя интерфейса может быть любым допустимым именем.NET.

  • Ваш код должен поддержать обработку исключений.

Клиентские предпосылки.NET

Завершите эти шаги, чтобы подготовить вашу среду разработки.NET MATLAB Production Server™.

  1. Установите Microsoft Visual Studio. См. https://www.mathworks.com/support/compilers/current_release/ для актуального списка поддерживаемого программного обеспечения, включая ИДЫ и Microsoft®.NET Frameworks.

  2. Проверьте, что ваше приложение развертывается на рабочем экземпляре сервера.

Обрабатывание исключений

Необходимо объявить исключения для следующих ошибок:

Для этой ошибки Используйте этот методОбъявить это исключение
Ошибки MATLABMATLABExceptionMathWorks.MATLAB.ProductionServer.Client. MWClient.MATLABException
Транспортные ошибки, происходящие во время коммуникации клиент-серверWebExceptionSystem.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 все открытые сокеты, связанные с экземпляром.

Преобразование данных для типов.NET и MATLAB

Для получения информации относительно поддерживаемых типов MATLAB для маршалинга клиент-сервера, смотрите Неподдерживаемые типы данных MATLAB для Маршалинга Клиент-сервера

Где найти документацию API

Документ API для клиента.NET установлен в $MPS_INSTALL/client.