用ASP.NET包装第三方组件以提供服务的尝试
来源:互联网 发布:淘宝店铺免费推广软件 编辑:程序博客网 时间:2024/06/11 15:10
对于.NET开发,可以通过ASP.NET(对人)或Web Service(对机器)技术包装第三方组件。下面以用ASP.NET发布Matlab组件中的Execute函数为例说明。前提是服务器上已安装Matlab。
在VS2005中新建一个ASP.NET站点,在Solution Explorer窗格的站点目录上点击右键选择Add Reference,加入Matlab的COM组件:Matlab Application(version X.X) Type Library。
在网页上分别添加一个TextBox、一个Button和一个Literal控件。TextBox用以输入表达式,Button确定执行,Literal输出结果。添加以下事件代码,以便调用Matlab组件中的Execute函数执行Matlab语句:
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim matlab As New MLApp.MLApp
Dim strMatLab As String
strMatLab = TextBox1.Text
Dim strResult As String = matlab.Execute(strMatLab)
strResult = strResult.Replace(Chr(10), "<br>")
strResult = strResult.Replace(" ", " ")
Me.Literal1.Text = strResult
matlab.Quit()
End Sub
在VS2005中运行这个站点,在出现的网页中输入一个表达式,如“dsolve('Dx=x^2 5')”,点击按钮后随即会显示结果:“ans = 5^(1/2)*tan(5^(1/2)*t 5^(1/2)*C1)”。但如果用IIS发布这个站点,运行时则会出错,提示的原因是ASP.NET没有创建组件的权限。根据出错提示,我们需要在网站的web.config文件中加入一句:
<identity impersonate="true" userName="xx" password="xx"/>
这里指明的用户应当是服务器端有相关权限的用户。如果不指定则在客户端页面进行身份验证。当然,在web.config中明文保存用户名和密码是不安全的,在真正的应用中要加密。
就此,我们完成了Matlab表达式求值函数的网络发布。可以通知没有安装Matlab的朋友登录你的网站使用的Matlab强大的计算功能了。(注意:此例仅供演示,Matlab强大的语句和工具箱足以让远程用户通过这个网页访问你的文件系统。)
由于HTTP协议的性质以及服务器端执行的特性,这种对第三方组件的包装一般适于发布数据处理函数,而不适于发布控制函数。同时这一方法对实时性强或需要保存状态的服务也不很适宜。安全起见,我们也可以对第三方组件进行二次封装,加入数据过滤与异常处理。
原理非常简单。希望大家能与我讨论这一方案在实际应用中的价值。
参考:
1、李洪根,在.NET中应用MATLAB算法
(http://www.microsoft.com/china/community/Column/25.mspx)
2、Matlab 7.1,Matlab Web Server 相关帮助文档
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- 用ASP.NET包装第三方组件以提供服务的尝试
- 调用第三方提供的webService服务
- WebService学习总结(四)——调用第三方提供的webService服务(.net问题)
- 3.调用第三方提供的webService服务
- webservice 调用第三方提供的webService服务
- JAVA调用第三方提供的webService服务
- asp.net常用的第三方控件
- 第三方.net组件集锦
- .NET 常用第三方组件
- 在济南以第三方的身份向中小软件企业和软件最终用户提供软件测试服务可能性的思考
- .net开发中常用的第三方组件
- .net开发中常用的第三方组件
- .net开发中常用的第三方组件
- asp.net里面的第三方控件FreeTextBox的用法
- 第三方组件的添加
- asp.net里第三方控件的使用
- 使用第三方的LDAP服务来为WOSS提供身份认证
- WebService学习总结(四)——调用第三方提供的webService服务
- ASP.NET无限分类
- .NET下正则表达式应用的四个示例
- Asp.net前后台值的调用
- .NET正则表达式使用高级技巧之组的概念
- 通过系统配置来提高ASP.NET应用程序的稳定性(续)
- 用ASP.NET包装第三方组件以提供服务的尝试
- ASP.NET中实现大结果集分页研讨
- asp.net全局异常处理
- 使用asp.net2.0中的SiteMap中的一些问题
- 在.NET中,将竖表变横表(支持固定列)
- 那数组存入application,再利用循环读出来
- 从ASP.NET1.1升级到ASP.NET2.0需要考虑的Cookie问题
- 如何在ASP.NET中获取随机生成的cookie加密与验证密钥
- Asp.net1.0升级ASP.NET2.0的几个问题总结