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

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:03:46
字體:
來源:轉載
供稿:網(wǎng)友
    不少應用程序的作者為編程人員提供了可以在其它程序中復用的組件。我們通常會在自己的程序中引入這些第三方組件,調用其中現(xiàn)成的函數(shù)來實現(xiàn)相對復雜的功能。事實上,我們也可以通過網(wǎng)絡發(fā)布第三方組件中的函數(shù),以便為更多用戶更為方便地提供服務。

  對于.net開發(fā),可以通過asp.net(對人)或web service(對機器)技術包裝第三方組件。下面以用asp.net發(fā)布matlab組件中的execute函數(shù)為例說明。前提是服務器上已安裝matlab。

  在vs2005中新建一個asp.net站點,在solution explorer窗格的站點目錄上點擊右鍵選擇add reference,加入matlab的com組件:matlab application(version x.x) type library。

  在網(wǎng)頁上分別添加一個textbox、一個button和一個literal控件。textbox用以輸入表達式,button確定執(zhí)行,literal輸出結果。添加以下事件代碼,以便調用matlab組件中的execute函數(shù)執(zhí)行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中運行這個站點,在出現(xiàn)的網(wǎng)頁中輸入一個表達式,如“dsolve('dx=x^2+5')”,點擊按鈕后隨即會顯示結果:“ans = 5^(1/2)*tan(5^(1/2)*t+5^(1/2)*c1)”。但如果用iis發(fā)布這個站點,運行時則會出錯,提示的原因是asp.net沒有創(chuàng)建組件的權限。根據(jù)出錯提示,我們需要在網(wǎng)站的web.config文件中加入一句:

<identity impersonate="true" username="xx" password="xx"/>

  這里指明的用戶應當是服務器端有相關權限的用戶。如果不指定則在客戶端頁面進行身份驗證。當然,在web.config中明文保存用戶名和密碼是不安全的,在真正的應用中要加密。

  就此,我們完成了matlab表達式求值函數(shù)的網(wǎng)絡發(fā)布。可以通知沒有安裝matlab的朋友登錄你的網(wǎng)站使用的matlab強大的計算功能了。(注意:此例僅供演示,matlab強大的語句和工具箱足以讓遠程用戶通過這個網(wǎng)頁訪問你的文件系統(tǒng)。)

  由于http協(xié)議的性質以及服務器端執(zhí)行的特性,這種對第三方組件的包裝一般適于發(fā)布數(shù)據(jù)處理函數(shù),而不適于發(fā)布控制函數(shù)。同時這一方法對實時性強或需要保存狀態(tài)的服務也不很適宜。安全起見,我們也可以對第三方組件進行二次封裝,加入數(shù)據(jù)過濾與異常處理。

  原理非常簡單。希望大家能與我討論這一方案在實際應用中的價值。

參考:

1、李洪根,在.net中應用matlab算法

http://www.microsoft.com/china/community/column/25.mspx

2、matlab 7.1,matlab web server 相關幫助文檔

  • 本文來源于網(wǎng)頁設計愛好者web開發(fā)社區(qū)http://www.html.org.cn收集整理,歡迎訪問。
  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 科尔| 常山县| 贵南县| 仁怀市| 乐亭县| 堆龙德庆县| 大余县| 崇文区| 柞水县| 辽宁省| 忻城县| 泽库县| 贡山| 柏乡县| 衡阳县| 内黄县| 肥城市| 乐平市| 吴江市| 商都县| 荃湾区| 普格县| 大丰市| 开封市| 丰县| 章丘市| 镇远县| 昌邑市| 湖南省| 江西省| 九江市| 奉新县| 鄂州市| 奉贤区| 中卫市| 巨野县| 怀集县| 类乌齐县| 乐昌市| 迁安市| 博乐市|