主要内容

使用创建C#客户端MWHttpClient

这个例子展示了如何编写一个C#应用程序来调用MATLAB®部署到的功能MATLAB生产服务器™.C#应用程序使用MATLAB生产服务器.NET客户端库。

NET应用程序程序员通常执行此任务。本教程假定您有Microsoft®Visual Studio®和.NET安装在您的计算机上。

创建微软Visual Studio项目

  1. 打开Microsoft Visual Studio。

  2. 点击文件>新建>项目.

  3. 在“新建项目”对话框中,选择要使用的模板。例如,如果要在Visual Studio 2017中创建C#console应用程序,请选择Visual C#>Windows桌面在左侧导航窗格中,然后选择控制台应用程序(.Net Framework).

  4. 在列表中键入项目的名称名称字段(例如,魔法).

  5. 点击好的你的魔法创建源shell,通常命名为Program.cs,默认情况下。

创建对客户端运行库的引用

在应用程序中创建引用魔法MATLAB生产服务器客户端运行时库。在Microsoft Visual Studio中,执行以下步骤:

  1. 在里面解决方案管理器Microsoft Visual Studio中的窗格(通常在右侧),右键单击您的魔法项目,选择添加>浏览.

  2. 浏览到MATLAB生产服务器.NET客户端运行时库位置。

    在室内MATLAB生产服务器安装,图书馆位于$MPS_安装\客户端\dotnet哪里$MPS_安装是在什么地方MATLAB生产服务器已安装。请选择MathWorks.MATLAB.ProductionServer.Client.dll文件。

    客户库也可用于下载//www.tatmou.com/下载188bet金宝搏products/matlab-production-server/client-libraries.html.

  3. 点击好的你的Microsoft Visual Studio项目现在引用MathWorks.MATLAB.ProductionServer.Client.dll.

部署MATLAB函数到服务器

写一个matlab函数我的魔法使用魔术(MATLAB)函数创建一个幻方,包我的魔法进入一个名为mymagic_deployed,然后将其部署到服务器我的魔法takes输入并返回一个二维幻方双重的该示例假定服务器实例正在运行http://localhost:9910.

功能m=mymagic(in)m=magic(in);

有关创建存档并将其部署到服务器的信息,请参阅为MATLAB生产服务器创建可部署的归档共享可部署归档.

C#中的设计.NET接口

调用已部署的MATLAB函数我的魔法从.NET客户端通过.NET接口。设计一个C#接口魔法匹配MATLAB函数我的魔法.

  • NET接口具有与MATLAB函数相同数量的输入和输出。

  • 由于要在服务器上部署一个MATLAB函数,因此需要在C#代码中定义一个相应的.NET方法。

  • MATLAB函数和.NET接口处理相同的数据类型输入类型和输出类型2-D双重的.

  • 在C#客户端程序中,使用魔法在中指定代理对象引用的类型createproxy.方法createproxy.方法需要指向包含我的魔法功能 (http:// localhost:9910 / mymagic_deployed)作为输入参数。

公共接口魔术{double[,]mymagic(intin1);}

编写、构建和运行.NET应用程序

  1. 打开Microsoft Visual Studio项目魔法你早先创造的。

  2. 在里面Program.cs选项卡,粘贴下面的代码。

    使用系统;使用System.Net;使用mathworks.matlab.productionserver.client;命名空间魔法{公共类魔术{公共界面魔术{double [,] mymagic(int1);}公共静态void main(String [] args){mwclient client = new mwhttpclient();尝试{魔法ME = Client.createProxy <魔术>(新URI(“http:// localhost:9910 / mymagic_deployed”);Double [,]结果1 = me.magic(4);打印(结果1);} catch(matlabexception ex){console.writeline(“{0} matlab异常捕获”。,前);console.writeline(ex.stacktrace); } catch (WebException ex) { Console.WriteLine("{0} Web exception caught.", ex); Console.WriteLine(ex.StackTrace); } finally { client.Dispose(); } Console.ReadLine(); } public static void print(double[,] x) { int rank = x.Rank; int[] dims = new int[rank]; for (int i = 0; i < rank; i++) { dims[i] = x.GetLength(i); } for (int j = 0; j < dims[0]; j++) { for (int k = 0; k < dims[1]; k++) { Console.Write(x[j, k]); if (k < (dims[1] - 1)) { Console.Write(","); } } Console.WriteLine(); } } } }

    URL值("http://localhost:9910/mymagic_deployed")用于创建代理包含三个部分。

    • 服务器地址(localhost.).

    • 端口号(9910).

    • 档案名称(mymagic_deployed).

  3. 构建应用程序。单击建造>构建解决方案.

  4. 运行应用程序。单击调试>不调试启动.该程序返回以下控制台输出。

    16,2,3,13 5,11,10,8 9,7,6,12 4,14,15,1

相关话题