国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用ASP.NET包裝第三方組件以提供服務的嘗試

2019-11-18 17:20:45
字體:
來源:轉載
供稿:網友

  不少應用程序的作者為編程人員提供了可以在其它程序中復用的組件。我們通常會在自己的程序中引入這些第三方組件,調用其中現成的函數來實現相對復雜的功能。事實上,我們也可以通過網絡發布第三方組件中的函數,以便為更多用戶更為方便地提供服務。

  對于.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(" ", "&nbsp;")

        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 相關幫助文檔


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 介休市| 诏安县| 孝义市| 太和县| 上栗县| 江永县| 苍梧县| 贵港市| 赫章县| 三台县| 逊克县| 阿勒泰市| 曲阜市| 宿松县| 牡丹江市| 海丰县| 运城市| 邢台县| 甘南县| 太仓市| 兰西县| 准格尔旗| 邻水| 凤庆县| 县级市| 靖边县| 五常市| 开江县| 博爱县| 蒙山县| 清徐县| 黎川县| 孝义市| 永泰县| 玉田县| 姜堰市| 启东市| 肃宁县| 广灵县| 金沙县| 广德县|