這篇文章主要講解了“.NET技術(shù)的發(fā)展前景怎么樣”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“.NET技術(shù)的發(fā)展前景怎么樣”吧!
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬主機(jī)、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、瑞麗網(wǎng)站維護(hù)、網(wǎng)站推廣。
.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹.NET技術(shù),包括介紹COM/COM+技術(shù)等方面。
.NET技術(shù)是微軟大力推廣的下一代平臺(tái)技術(shù),自從.NET技術(shù)架構(gòu)Beta2版本的正式發(fā)布,此項(xiàng)技術(shù)也逐漸走向成熟和穩(wěn)定。按照微軟的平臺(tái)系統(tǒng)占有率,我們不難想象得到,在未來(lái)的一兩年內(nèi).NET技術(shù)必定會(huì)勢(shì)如破竹一般的登上主流的技術(shù)平臺(tái),而一個(gè)新的技術(shù)平臺(tái)得以快速發(fā)展的最重要的前提是:他不會(huì)徹底的摒棄以前的技術(shù),這一點(diǎn)對(duì)于.NET技術(shù)來(lái)說(shuō)指的就是COM/COM+技術(shù)了。
一般來(lái)說(shuō),在IT技術(shù)界以及硬件產(chǎn)業(yè),技術(shù)的更新?lián)Q代速度非常得驚人,而慣例是所有的新技術(shù)都會(huì)遵循向下兼容的原則,但是.NET技術(shù)不僅僅做到了這一點(diǎn),.NET甚至實(shí)現(xiàn)了相互之間的各自調(diào)用,這一點(diǎn)是非常難能可貴的。也就是說(shuō),不但我們可以在.NET組件中調(diào)用COM組件,同時(shí)也可以在COM組件中正常的調(diào)用.NET組件。這點(diǎn)帶來(lái)的好處是顯而易見(jiàn)的,一方面我們可以保持現(xiàn)有的技術(shù)資源,另一方面,在現(xiàn)有資源中可以利用.NET所帶來(lái)的各種新技術(shù)。
一般的數(shù)據(jù)庫(kù)事務(wù)控制要求事務(wù)里所做的操作必須在同一個(gè)數(shù)據(jù)庫(kù)內(nèi),這樣在出現(xiàn)錯(cuò)誤的時(shí)候才能回滾(RllBack)到初始狀態(tài)。這就存在一個(gè)問(wèn)題,在分布式應(yīng)用程序中,我們往往需要同時(shí)操作多個(gè)數(shù)據(jù)庫(kù),使用數(shù)據(jù)庫(kù)本身的事務(wù)處理,很難滿(mǎn)足程序?qū)κ聞?wù)控制的要求。在COM+中,提供了完整的事務(wù)服務(wù),我們可以利用它來(lái)完成在分布式應(yīng)用程序中的事務(wù)控制。
具體過(guò)程如下
一:用VS.NET生成一個(gè)類(lèi)庫(kù)
二:添加對(duì)System.EnterpristServices的引用,具體步驟
菜單:(項(xiàng)目-添加引用-在.NET選項(xiàng)卡選擇System.EnterpristServices-確定)
三:構(gòu)建類(lèi)
using System;
using System.EnterpriseServices;
using System.Data.SqlClient;
using System.Reflection;
namespace COMPlusSamples
{
//表明需要事務(wù)支持[ Transaction(TransactionOption.Required) ]
//聲明為服務(wù)器應(yīng)用程序,還可以選擇Library,表示為庫(kù)應(yīng)用程序
[assembly: ApplicationActivation(ActivationOption.Server)]
//描述信息
[assembly: Description("sample")]
public class TxCfgClass : ServicedComponent
{
private static string init1 = "user id=sa;password=;
initial catalog=pubs;data source=(local)";private static string init2 = "user id=sa;password=;
initial catalog=NorthWind;data source=(local)";private static string add1 = "insert into authors
('au_lname','au_fname') values('test1', 'test2')";private static string add2 = "insert into sample values('test1',22)";
//the error sql statement
//there is not table “sample”
public TxCfgClass() {}
private void ExecSQL(string init, string sql)
{
SqlConnection conn = new SqlConnection(init);
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
//添加一條記錄到數(shù)據(jù)庫(kù)
public void Add()
{
try
{
//在一數(shù)據(jù)庫(kù)中插入一條記錄
ExecSQL(init1, add1);
Console.WriteLine("the operation in the same database completely");
//在另外一個(gè)數(shù)據(jù)庫(kù)中插入兩條記錄
//這次執(zhí)行的是一個(gè)錯(cuò)誤的SQL語(yǔ)句
ExecSQL(init2, add2);
Console.WriteLine("the operation in the other database
completely");
Console.WriteLine("Record(s) added, press enter...");
Console.Read();
}
catch(Exception e)
{
//事務(wù)回滾
ContextUtil.SetAbort();
Console.WriteLine("Because there are some errors
in the operation ,so transcation abort");Console.WriteLine("The error is " + e.Message);
Console.WriteLine("abort successfully");
Console.Read();
}
}
}
}
感謝各位的閱讀,以上就是“.NET技術(shù)的發(fā)展前景怎么樣”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì).NET技術(shù)的發(fā)展前景怎么樣這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!