主要内容

使用本机。net API访问远程。net程序集:Magic Square

为什么使用本机.NET API?

创建可远程组件后,您可以使用本机.NET API设置服务器应用程序和客户端。有关为访问需求选择正确的API的详细信息,请参阅比较MWarray和Native .NET API用于可远程装配

您可以使用本机.NET API而不是本机的原因MWArrayAPI是:

  • 您希望使用标准的.NET类型传递参数和返回值,而您或您的用户并不经常使用特定于MATLAB的数据类型®

  • 您希望在没有安装版本的MATLAB中的客户端计算机中访问您的组件。

控件访问组件的信息MWArrayAPI,看到使用MWArray API访问远程。net程序集

编码和构建主机服务器应用程序和配置文件

服务器应用程序将托管您内置的远程组件创建可远程.NET程序集

客户端应用程序在一个单独的进程中运行,将访问由服务器应用程序托管的远程组件。使用该服务器构建微软®视觉工作室®项目文件MagicSquareServer \ MagicSquareServer.csproj

  1. 将生成的组件程序集的引用更改为magicsquarecomp \ for_redistribution_files_only \ magicsquarecompnnative.dll

  2. 选择适当的构建平台。

  3. 选择调试释放模式。

  4. 建立岩浆静脉内人项目。

  5. 的配置文件岩浆静脉内人

MagicSquareServer代码

服务器的c#代码在文件中MagicSquareServer \ MagicSquareServer.cs.的MagicSquareServer.cs服务器代码如下:

使用系统;使用System.Runtime.Remoting;命名空间MagicSquareServer {class MagicSquareServer {static void Main(string[] args);配置  (@"..\..\..\..\ MagicSquareServer.exe.config”);控制台。WriteLine("Magic Square Server started…");Console.ReadLine ();}}}
这段代码的作用如下:

  • 读取相关的配置文件,以确定它将托管的组件的名称、要使用的远程传输协议和消息格式,以及远程组件的租约时间。

  • 发出服务器处于活动状态的信号,并在终止之前等待回车。

MagicSquareServer配置文件

配置文件岩浆静脉内人在文件中MagicSquareServer \ MagicSquareServer.exe.config.用XML编写的整个配置文件如下所示:

<?xml version =“1.0”编码=“utf-8”?>        <通道> <通道Ref =“TCP”端口=“1234”>        

此代码指定:

  • 访问远程组件的模式——在本例中为单调用模式

  • 远程组件,组件组件和对象URI(统一资源标识符)的名称用于访问远程组件

  • 远程组件的租用时间

  • 远程通讯协议(TCP / IP)和端口号

  • 消息格式器(二进制)和通信通道的权限(满的相信)

  • 服务器调试选项

编码和构建客户端应用程序和配置文件

运行在独立进程中的客户端应用程序访问运行在内置服务器应用程序中的远程组件编码和构建主机服务器应用程序和配置文件.属性构建远程客户端Microsoft Visual Studio项目文件MagicSquareClient \ MagicSquareClient.csproj.使用。创建远程客户端Microsoft Visual Studio

  1. 将生成的组件程序集的引用更改为magicsquarecomp \ for_redistribution_files_only \ magicsquarecompnnative.dll

  2. 将生成的接口程序集的引用更改为MagicSquareComp \ for_redistribution_files_only \ IMagicSquareCompNative.dll

  3. 选择适当的构建平台。

  4. 选择调试释放模式。

  5. 建立岩浆Quareclient.项目。

  6. 的配置文件岩浆静脉内人

磁性Quareclient Code.

客户端的C#代码位于文件中MagicSquareClient \ MagicSquareClient.cs

Magicsquareclient.cs.

这段代码的作用如下:

  • 客户端读取相关的配置文件以获取远程组件的名称和位置。

  • 客户端使用静态对象实例化远程对象activator.getObject.方法

  • 从这里开始,远程客户机调用远程组件上的方法,就像它调用本地组件方法一样。

玛吉Quareclient配置文件

Magic Square客户端的配置文件位于文件中MagicSquareClient \ MagicSquareClient.exe.config.在此显示以XML编写的配置文件:

<?>                  < /配置>

此代码指定:

  • 远程组件服务器的名称和远程组件URI(统一资源标识符)

  • 远程通讯协议(TCP / IP)和端口号

  • 消息格式器(二进制)和通信通道的权限(满的相信)

启动服务器应用程序

通过执行以下操作启动服务器:

  1. 打开DOS或UNIX®命令窗口和光盘Magicsquareserver \ bin \ x86 \ v4.0 \ debug

  2. MagicSquareServer.exe.您将看到消息:

    Magic Square Server开始......

启动客户端应用程序

通过以下步骤启动客户端:

  1. 打开DOS或UNIX命令窗口光盘MagicSquareClient \ bin \ x86 \ v4.0 \调试

  2. MagicSquareClient.exe.后MATLAB运行时初始化,您应该看到以下输出:

    4阶魔方元素(0,0)= 16元素(0,1)= 2元素(0,2)= 3元素(0,3)= 13元素(1,0)= 5元素(1,1)= 11元素(1,2)= 10元素(1,3)= 8元素(2,0)= 9元素(2,2)= 6元素(2,3)= 12元素(3,0)= 4元素(3,1)= 14元素(3,2)= 15元素(3,3)= 1