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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

你的應(yīng)用程序?yàn)?NET做好準(zhǔn)備了嗎?

2019-11-18 12:06:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  從底層開(kāi)始重新設(shè)計(jì),.NET在xml集成、錯(cuò)誤處理、組件加工以及可重用框架等方面取得了明顯的進(jìn)步。它在Web開(kāi)發(fā)方面的承諾也非常清楚:開(kāi)發(fā)速度更快、自定義代碼更少而穩(wěn)定性更強(qiáng)。一旦你決定將當(dāng)前的應(yīng)用程序移植到新的平臺(tái)上,你必須確定你的應(yīng)用程序是否為.NET做好了預(yù)備。本文將幫助你判定你的.NET性能。 
  
  恰當(dāng)?shù)恼Z(yǔ)言
  .NET框架依靠與多種語(yǔ)言兼容的通用語(yǔ)言的運(yùn)行(CLR)。理論上,通過(guò)使用java COM或Web服務(wù),能夠?qū)⒒贘ava的應(yīng)用程序移植到.NET上而不需要用C#、C++或者Visual Basic(VB)重寫代碼。實(shí)際上,實(shí)現(xiàn)這樣的異構(gòu)應(yīng)用程序通常是一件非常復(fù)雜的事情。而且在移植的過(guò)程中改變語(yǔ)言將影響時(shí)間。毫無(wú)疑問(wèn)語(yǔ)言的移植將導(dǎo)致結(jié)構(gòu)上的改變。
  目前使用VB、C#、或者C++編碼的應(yīng)用程序邏輯,提供了向.NET移植的最簡(jiǎn)單的方式。然而,不是代碼簡(jiǎn)單的重新編譯,而是通過(guò)Java COM為VB、C#、或者C++改寫為.NET框架庫(kù),或者采用其他混合語(yǔ)言的實(shí)現(xiàn),提供了最可能成功的機(jī)會(huì)。
  
  COM對(duì)象支持的應(yīng)用層
  假如你的系統(tǒng)是一個(gè)三層結(jié)構(gòu)的系統(tǒng),你的應(yīng)用很可能依靠COM對(duì)象來(lái)封裝應(yīng)用程序邏輯。.NET框架支持COM對(duì)象。但是由于在.NET框架下COM對(duì)象的互操作性能下降,因此將COM對(duì)象移植到.NET框架治理的對(duì)象時(shí)需要慎重考慮。值得注重的是.Net早期綁定協(xié)議的性能提高將有助于在當(dāng)前的asp/COM實(shí)現(xiàn)上增加.NET/COM。
  最起碼,對(duì)于當(dāng)前的COM實(shí)現(xiàn)你可以選擇立即將其移植為.NET框架治理的對(duì)象,或者仍然作為COM層保留一段時(shí)間。
  
  適當(dāng)?shù)氖褂?a href="http://m.survivalescaperooms.com/tag-2.html">存儲(chǔ)過(guò)程
  典型地,數(shù)據(jù)層的有力分割依靠于存儲(chǔ)過(guò)程的封裝數(shù)據(jù)處理邏輯。微軟已經(jīng)熟悉到使用存儲(chǔ)過(guò)程是一種最好的編程習(xí)慣,并且可以依靠它來(lái)優(yōu)化數(shù)據(jù)庫(kù)性能。而且,存儲(chǔ)過(guò)程提高了程序的可維護(hù)性,可以使SQL和“表(Table)”發(fā)生改變而不影響應(yīng)用程序或者不改變代碼的表示方法。
  移植到.NET對(duì)于現(xiàn)存的存儲(chǔ)過(guò)程不要求任何改變。對(duì)于執(zhí)行和處理從存儲(chǔ)過(guò)程中獲得的數(shù)據(jù),應(yīng)用程序?qū)⑿枰浦矠?NET框架的ADO.NET庫(kù)方法或者需要使用COM對(duì)象。假如你已經(jīng)使用COM對(duì)象來(lái)封裝存儲(chǔ)過(guò)程調(diào)用,那么從本質(zhì)上來(lái)說(shuō),除了要在COM集成方面做一些工作外,不需要做任何其它的移植工作。
  
  清楚地分離Html和ASP
  在應(yīng)用程序中一個(gè)常用的快捷方式是在ASP程序中使用嵌入的HTML來(lái)提供一個(gè)接口。由于嵌入的HTML數(shù)據(jù)流和提供的代碼結(jié)構(gòu)很難理解,這種編程習(xí)慣將不可避免地引起底層的維護(hù)問(wèn)題。.NET強(qiáng)調(diào)要有好的編程習(xí)慣,不答應(yīng)使用這些HTML提供的接口。而用自定義Web控件封裝復(fù)雜的HTML,只給應(yīng)用程序提供屬性和事件。
  
  分散而實(shí)用的ASP文件
  在檢查ASP和HTML代碼時(shí),需要檢查嵌套的頭文件(include files)。假如你的應(yīng)用程序在很大程度上依靠于嵌套的頭文件,則必須讓程序員改變這種程序的依靠性。而且,假如頭文件中的結(jié)構(gòu)沒(méi)有規(guī)范化,在將你的應(yīng)用程序加入到全局的應(yīng)用中時(shí),會(huì)出現(xiàn)與全局的結(jié)構(gòu)命名和功能重復(fù)的情況。
  理想情況下,將所有實(shí)用類包含在不同的ASP文件中(或者比較好的是作為COM對(duì)象)。相似地,全局變量應(yīng)該包含在一個(gè)單獨(dú)的ASP文件中而不是分散在應(yīng)用程序的各個(gè)部分。
  
  慎用會(huì)話機(jī)制
  除了服務(wù)控制之外,.NET為了提高Web應(yīng)用的可擴(kuò)展性還提供了新的性能。其中之一就是分布式會(huì)話模型,此模型使得一個(gè)Web farm中的多個(gè)應(yīng)用服務(wù)器的會(huì)話數(shù)據(jù)可以使用。雖然分布式會(huì)話機(jī)制要求使用SQL服務(wù)器來(lái)存儲(chǔ)會(huì)話狀態(tài),但是不需要對(duì)代碼庫(kù)進(jìn)行專門的修改。應(yīng)用程序的性能可能會(huì)受到影響,這取決于狀態(tài)數(shù)據(jù)的數(shù)量和類型。
  在不降低性能的情況下,為了利用這種性能,應(yīng)該仔細(xì)評(píng)估當(dāng)前會(huì)話系統(tǒng)的實(shí)現(xiàn),尤其是需要維護(hù)的狀態(tài)信息的數(shù)量、類型和結(jié)構(gòu)。在移植的過(guò)程中,嚴(yán)格控制會(huì)話系統(tǒng)的內(nèi)容。使用應(yīng)用程序親合(affinity)技術(shù)和失效切換(failover)模式以限制請(qǐng)求的狀態(tài)信息。
  
  結(jié)構(gòu)化的錯(cuò)誤處理設(shè)計(jì)
  VB.NET所帶來(lái)的新的結(jié)構(gòu)化的改變是引入了Try、Catch錯(cuò)誤處理機(jī)制,這種機(jī)制對(duì)于Java程序員來(lái)說(shuō)是非常熟悉的。VB.NET仍然支持On Error及相關(guān)的聲明,但是最好使用新的、結(jié)構(gòu)化的錯(cuò)誤處理機(jī)制。為了利用這種新的錯(cuò)誤處理性能,必須具體了解當(dāng)前的以及預(yù)備開(kāi)發(fā)的應(yīng)用程序的錯(cuò)誤處理過(guò)程。
  
  現(xiàn)在可以開(kāi)始移植了
  是否有一個(gè)好的應(yīng)用代碼庫(kù)意味著成功的無(wú)縫移植和陷入不可預(yù)見(jiàn)的困境之間的差別。為了能夠順利地移植到.NET,檢查你的系統(tǒng)并接受好的編程習(xí)慣。你將幸運(yùn)地或者預(yù)知地發(fā)現(xiàn)表示層是用單一的語(yǔ)言,如javascript編碼的,應(yīng)用層是用VB、C#、或者C++編碼的。理想的情況下,表示層幾乎不需要自己的邏輯而且不需要嵌入SQL,就能夠組織得很好;而應(yīng)用層通過(guò)COM對(duì)象封裝了編碼的商業(yè)規(guī)則。在數(shù)據(jù)庫(kù)這一級(jí),理想的情況是應(yīng)用程序使用COM調(diào)用存儲(chǔ)過(guò)程。
  .NET承諾了許多直接的改進(jìn),和微軟的許多應(yīng)用程序一樣,新的平臺(tái)只會(huì)變得更好。現(xiàn)在檢查你的系統(tǒng),為不可避免地調(diào)用.NET提供的新功能做好預(yù)備。即使你的系統(tǒng)現(xiàn)在不適合進(jìn)行移植,.NET也將提供足夠的有利條件來(lái)支持任何必要的修改。最起碼,移植到新的平臺(tái)上將為你提供修復(fù)應(yīng)用程序中長(zhǎng)期困擾你的問(wèn)題的機(jī)會(huì)。所以,抓住時(shí)機(jī),鉆研代碼,為.NET做好預(yù)備。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新野县| 正镶白旗| 高唐县| 濮阳市| 股票| 兴宁市| 沭阳县| 琼结县| 阿荣旗| 五大连池市| 芒康县| 登封市| 于都县| 临澧县| 南昌县| 玉山县| 佛教| 梁山县| 图们市| 孝昌县| 克山县| 名山县| 彰化市| 丽水市| 大悟县| 屏南县| 交口县| 凭祥市| 夏津县| 彰化县| 丹巴县| 福建省| 德清县| 吴旗县| 中方县| 库尔勒市| 黄冈市| 武平县| 武城县| 贵溪市| 南和县|