版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、matlab 调用 c# COM+ 的的例子我们以下假设: matlab 版本:r2007adotnet:2005com使用 dotnet 的服务化组件来生成并发布在机器9 上,客户端使用 matlab 来调用这个组件。 1.使用 dotnet vs2005 来建立一个类库。 关键代码如下: User.cs: using System;using System.Collections.Generic;using System.Text;/添加 com 及数据库引用using System.EnterpriseServices;using System.Collectio
2、ns;using System.Windows.Forms;using System.Data.OleDb;using System.Data;/using System.Collections.Generic;/这里是实现一个 com 应用,包含 3 个实体user,Catalogue,Article; 分别表示用户、资料类别、资料/此模块最终被编译成 dll 并作为 com 部署在服务器。 并且被已经实现的被作为客户端的matlab 脚本调用/陈海 2009/3/15/* */namespace CharIdentifyCOMTransaction(TransactionOption.Re
3、quired)/声明为服务器应用程序,还可以选择Library ,表示为库应用程序public class User : ServicedComponentprivate string connectionString;public User() protected override void Construct(string s)connectionString = s;base.Construct(s);AutoComplete / 这就是一会儿我们要在客户端调用的方法public string getUserName()return "chenhai"/注意您要添加引
4、用System.EnterpriseServicesAssembly.cs:usingSystem.Reflection;using System.Runtime.CompilerServices;using System.Runtime.InteropServices;/ GeneralInformation about an assembly is controlled through the following/ set of attributes. Change these attribute values to modify the information/ associated w
5、ith an assembly.assembly: AssemblyTitle("CharIdentifyCOM")assembly: AssemblyDescription("")assembly: AssemblyConfiguration("")assembly: AssemblyCompany("ztc")assembly: AssemblyProduct("CharIdentifyCOM")assembly: AssemblyCopyright("Copyright ? zt
6、c 2009")assembly: AssemblyTrademark("")assembly: AssemblyCulture("")/ Setting ComVisible to false makes the types in this assembly not visible/ to COM components. If you need to access a type in this assembly from/ COM, set the ComVisible attribute to true on that type.assem
7、bly: ComVisible(true)/ The following GUID is for the ID of the typelib if this project is exposed to COMassembly:Guid("41dc3ec7-2b22-4f02-80eb-302c8930eb8c")/Version information for an assembly consists of the following four values:/Major Version/Minor Version/Build Number/Revision/ You ca
8、n specify all the values or you can default theRevision and Build Numbers/ by using the '*' as shown below:assembly: AssemblyVersion("")assembly: AssemblyFileVersion("")/assembly:AssemblyKeyFile(".CharIdentifyKey.snk") /2005中指定由 sn乎已经取消了。请在菜单 proje
9、ct->app properties->Signing->Sign the assembly生成的文件名2.打开vs的命令行,给dll生成强名称生成强命 名的文件E:masterterm2graduated_designprojdot_net_projCharI dentifyCOMCharIdentifyCOMbinDebug>sn -k CharIdentifyCOM.snkMicrosoft(R) .NET Framework Strong Name UtilityVersion2.0.50727.42Copyright (c) M
10、icrosoft Corporation.All rightsreserved.Key pair written to CharIdentifyCOM.snk3。注册comE:masterterm2graduated_designprojdot_net_projCharIdentifyCOMCharIdentifyCOMbinDebug>regsvcs /fc CharIdentifyCOM.dllMicrosoft (R) .NET Framework Services Installation UtilityVersion 2.0.50727.143Copyright (c)
11、 Microsoft Corporation.All rightsreserved.WARNING: The assembly does not declare anApplicationAccessControl Attribute.pplication security will be enabled by default.Installed Assembly:Assembly:E:masterterm2graduated_designprojdot_net_projCharI dentif yCOMCharIdentifyCOMbinDebugCharIdentifyCOM.dllApp
12、lication: CharIdentifyCOMTypeLib:E:masterterm2graduated_designprojdot_net_projCharI dentify masterterm2graduated_designprojdot_net_projCharIde ntifyCOMCharIdentifyCOMbinDebug> 这是你可以通过 "管理工具 "看到这个com 组件了 如果注册错误,可删除注册:regsvcs /uCharIdentifyCOM.dll4 。打开 matlab r2007a, 调用 COM: 在matlab 命
13、令行做 ,>>h=actxserver('CharIdentifyCOM.User','machine','9') % 生成到 com 的访问服务器句柄 hCOM.CharIdentifyCOM_User>>get(h,'getUserName') % 调用 com 的方法 ans =chenhai>> release(h) % 释放 h>> 我们这里 是最简单的验证,实际上,你可以在那个 User 类中实现更 复杂的逻辑,比如访问数据库并返回给某个方法。我们也没 有实现诸如 COM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年数字化X射线机项目提案报告范文
- 2024-2030年中国油泵电机组行业十三五需求及投资战略分析报告
- 2024-2030年中国汽车自动驾驶行业经营模式及投资规划研究报告
- 2024-2030年中国水转印油墨行业供需趋势及发展潜力分析报告
- 2024年核三废处理处置技术设备项目规划申请报告
- 2022年大学力学专业大学物理下册模拟考试试题D卷-附解析
- 2022年大学土建专业大学物理二期中考试试卷D卷-附解析
- 2022年大学力学专业大学物理下册期末考试试卷D卷-附解析
- 2022年大学中医学专业大学物理下册模拟考试试题B卷-附解析
- 2022年大学药学专业大学物理二月考试题D卷-附解析
- 中国厨房电器行业消费态势及销售状况分析研究报告(2024-2030版)
- 2024年国家公务员考试行测真题卷行政执法答案和解析
- 冬季施工恶劣天气应急预案
- 海南省海口市海南省华侨中学2024-2025年八年级上期中考试物理试题(含答案)
- 《江西二年级数学上学期期中试卷全解析》
- 江苏省扬州市江都区2024-2025学年七年级上学期第一次月考数学试卷
- 赛力斯招聘在线测评题
- 冬季传染病预防-(课件)-小学主题班会课件
- 2024年秋新北师大版数学一年级上册课件 第四单元 一起做游戏
- 云南省昆明市五华区2022-2023学年九年级上学期期中检测物理试题
- 人教版四年级上册美术教案设计-表格
评论
0/150
提交评论