我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > net专区 > 用ASP.NET包装第三方组件以提供服务的尝试
热门文章排行
热门文章排行 检查email地址格式的代码(01-11)
PHP操作文件问答(01-11)
PHP安装攻略:安装并配置PHP(10-23)
PHP的十个高级技巧 4(10-23)
关于APE的介绍、播放及制作(03-22)
精采文章排行
精采文章排行 ASP.NET与MySQL数据库简明图示入门教(11-16)
ASP.NET与MySQL数据库简明图示入门教(11-16)
ASP.NET 链接数据库基础(11-16)
webconfig的设置节点说明(11-16)
部署ASP.NET的三大技术(上)(11-16)
技术专题推荐
网管论坛交流
 

用ASP.NET包装第三方组件以提供服务的尝试 

作者:佚名   来源:Linux 宝库   点击:   日期:2006-12-22

    不少应用程序的作者为编程人员提供了可以在其它程序中复用的组件。我们通常会在自己的程序中引入这些第三方组件,调用其中现成的函数来实现相对复杂的功能。事实上,我们也可以通过网络发布第三方组件中的函数,以便为更多用户更为方便地提供服务。


    对于。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 相关帮助文档







文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·给你的FileSystemObject对象加把锁 ·在 Web 页上使用条件数值格式
·连接数据库查询手册(不仅仅适用于asp) ·警惕"给你的FileSystemObject对象加把锁"
·用ASP做全文检索 ·如何把ASP编写成DLL

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。