MWArray
APIПосле того, как вы создадите доступный удаленно компонент, можно настроить консольный сервер и клиент, использующий MWArray
API. Для получения дополнительной информации о выборе правильного API для ваших потребностей доступа смотрите, Сравнивают MWArray и Нативный API.NET для Доступных удаленно блоков.
Серверное приложение размещает удаленный встроенный компонент, Создают Доступный удаленно блок.NET.
Создайте сервер с помощью Microsoft® Visual Studio® файл проекта MagicSquareServer\MagicSquareMWServer.csproj
:
Измените ссылки для сгенерированного блока компонента к MagicSquareComp\for_redistribution_files_only\MagicSquareComp.dll
.
Выберите соответствующую платформу сборки.
Выберите режим Debug или Release.
Создайте MagicSquareMWServer
проект.
Предоставьте конфигурационный файл для MagicSquareMWServer
.
Используйте код C# для сервера, расположенного в файле MagicSquareServer\MagicSquareServer.cs
:
Этот код делает следующую обработку:
Читает связанный конфигурационный файл, чтобы определить
Имя компонента, который это разместит
Форматирование протокола и сообщения дистанционной работы, чтобы использовать
Время владения для удаленного компонента
Сигналы, что сервер активен и ожидает возврата каретки, который будет вводиться перед завершением.
Конфигурационный файл для MagicSquareServer
находится в файле MagicSquareServer\MagicSquareServer.exe.config
. Целый конфигурационный файл, написанный в XML, следует:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.runtime.remoting>
<application>
<service>
<wellknown mode="SingleCall"
type="MagicSquareComp.MagicSquareClass, MagicSquareComp"
objectUri="MagicSquareClass.remote" />
</service>
<lifetime leaseTime= "5M" renewOnCallTime="2M"
leaseManagerPollTime="10S" />
<channels>
<channel ref="tcp" port="1234">
<serverProviders>
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
</channels>
</application>
<debug loadTypes="true"/>
</system.runtime.remoting>
</configuration>
Этот код задает:
Режим, в котором к удаленному компоненту получат доступ — в этом случае, один режим вызова
Имя удаленного компонента, блока компонента и объекта URI (унифицированный идентификатор ресурса) раньше получало доступ к удаленному компоненту
Время владения для удаленного компонента
Протокол дистанционной работы (TCP/IP
) и номер порта
Средство форматирования сообщения (binary
) и полномочия для канала связи (full
доверие)
Параметр отладки сервера
Клиентское приложение, запускающееся в отдельном процессе, получает доступ к удаленному выполнению компонента в серверном приложении, которое вы создали ранее. (См. Кодирование и Создавание Приложения Хостинг-сервера и Конфигурационного файла.
Затем создайте удаленный клиент, использующий файл проекта Microsoft Visual Studio MagicSquareClient\MagicSquareMWClient.csproj
. Это ссылки на файл оба блок преобразования разделяемых данных
и сгенерированный интерфейсный блок компонента matlabroot
\toolbox\dotnetbuilder\bin\win64\v4.0\MWArray.dllMagicSquareComp\for_redistribution_files_only\IMagicSquareComp
.
Создать удаленный клиент, использующий Microsoft Visual Studio:
Выберите соответствующую платформу сборки.
Выберите режим Debug или Release.
Создайте MagicSquareMWClient
проект.
Предоставьте конфигурационный файл для MagicSquareMWServer
.
Используйте код C# для клиента, расположенного в файле MagicSquareClient\MagicSquareClient.cs
.
Этот код делает следующее:
Клиент читает связанный конфигурационный файл, чтобы завоевать репутацию и местоположение доступного удаленно компонента.
Клиент инстанцирует доступного удаленно объекта с помощью статического Activator.GetObject
метод
От этой точки клиент дистанционной работы вызывает методы на доступном удаленно компоненте, как это вызвало бы метод локального компонента.
Конфигурационный файл для клиента магического квадрата находится в файле MagicSquareClient\MagicSquareClient.exe.config
. Конфигурационный файл, написанный в XML, показывают здесь:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="MagicSquareServer"
value="tcp://localhost:1234/MagicSquareClass.remote"/>
</appSettings>
<system.runtime.remoting>
<application>
<channels>
<channel name="MagicSquareChannel" ref="tcp" port="0">
<clientProviders>
<formatter ref="binary" />
</clientProviders>
<serverProviders>
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
</configuration>
Этот код задает:
Имя удаленного сервера компонента и удаленного URI компонента (унифицированный идентификатор ресурса)
Протокол дистанционной работы (TCP/IP
) и номер порта
Средство форматирования сообщения (binary
) и полномочия для канала связи (full
доверие)
Запуск сервера путем выполнения следующего:
Откройте DOS или UNIX® командное окно и cd
к MagicSquareServer\bin\x86\v4.0\Debug
.
Запустите MagicSquareServer.exe
. Вы будете видеть сообщение:
Magic Square Server started...
Запустите клиент путем выполнения следующего:
Откройте DOS или командное окно UNIX и cd
к MagicSquareClient\bin\x86\v4.0\Debug
.
Запустите MagicSquareClient.exe
. После MATLAB® Время выполнения инициализирует, необходимо видеть следующий выход:
Magic square of order 4 162313 511108 97612 414151