成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Visual Studio 2010及.Net 4新功能一覽

開發(fā) 后端
Visual Studio 2010正式版即將在本月12號(hào)發(fā)布,作為微軟全新一代.Net平臺(tái)產(chǎn)品,其特性和新功能引起了很多開發(fā)者的關(guān)注,文章將向您介紹關(guān)于Visual Studio 2010及.Net 4的新功能。

Visual Studio 2010正式版即將在本月12號(hào)發(fā)布,作為微軟全新一代.Net平臺(tái)產(chǎn)品,其特性和新功能引起了很多開發(fā)者的關(guān)注,文章將向您介紹關(guān)于Visual Studio 2010及.Net 4的新功能。

1、代碼片段(Code Snippets):

代碼段是預(yù)先開發(fā)的代碼模板,可以節(jié)省我們對(duì)有關(guān)語法思考的時(shí)間。在Visual Studio 2005和Visual Studio 2008中,已經(jīng)有建立了很多代碼段。不過,這些只適用于隱藏代碼(code behind)。在Visual Studio 2010中代碼片段支持JavaScript,HTML以及ASP.NET標(biāo)記。在下面畫面,展示了JavaScript和HTML片段的快捷菜單。

在JavaScript中:

在JavaScript中

在Html中:

在Html中

2、New Profiles:

在以前的dotnet版本中,我們已經(jīng)看到過不同的開發(fā)環(huán)境的配置。如 VB, C#, Web development 和General Development。我們根據(jù)自己的需要選擇一個(gè)環(huán)境配置。這些選擇將在第一次安裝visual studio之后或者通過import export選項(xiàng)。這里介紹兩個(gè)Visual Studio 2010中配置環(huán)境,兩個(gè)都是進(jìn)行HTML開發(fā)的。他們是:

Visual Studio 2010中配置環(huán)境

◆Web Development。
◆Web Development (Code Optimized)。
◆Web Development,配置隱藏了客戶對(duì)象和HTML Mode頂端的事件欄。
◆Code Optimized ,你將發(fā)現(xiàn)是沒有code, designer tabs的html 編輯器。
◆它提供了一個(gè)更大的空間去玩轉(zhuǎn)html。

Web Development 

Web Development

在你安裝Visual Studio之后,第一次使用的時(shí)候,你能選擇一個(gè)配置。 你也能改變你的工作環(huán)境的配置通過: Tools > Import & Export Settings > Reset all settings option。 如果在IDE中沒有什么改變,你必須通過重新打開Visual Studio使它生效。

3、Generate From Usage:

在ASP.NET以前的版本,微軟推出了從現(xiàn)有的代碼中進(jìn)行代碼重構(gòu)來生成方法,在ASP.NET 4.0中, Generate From Usage 有了新概念,能基于現(xiàn)有的代碼來生成屬性,方法,類和的其它類型。

寫一些代碼,選中它,右擊最右側(cè)的字符,你將得到去提取屬性和方法的選項(xiàng)。此選項(xiàng)僅當(dāng)你沒有定義過這個(gè)標(biāo)識(shí)符才顯示。對(duì)于下面的例子智能感應(yīng)不會(huì)顯示選項(xiàng)來提取屬性,例如,如果您右鍵點(diǎn)擊變量i。

如果您右鍵點(diǎn)擊變量i

4、Multi-Targeting:

在Visual Studio 2008中就能創(chuàng)建一個(gè)2.0或者3.0版本創(chuàng)建項(xiàng)目,而不是用默認(rèn)的3.5去開發(fā)。也是是說,有一個(gè)選擇項(xiàng)去改變開發(fā)項(xiàng)目的framework版本。在Visual Studio 2010中亦有相同選項(xiàng)功能,并做出相應(yīng)的提高。在以前的版本中,如果你使用framework 2.0創(chuàng)建一個(gè)項(xiàng)目。智能感仍將能顯示3.5版本的類型和成員。如果你不能確定所選擇的framework內(nèi)的成員,所以你就會(huì)有更多的機(jī)會(huì)去出錯(cuò)。但是,在Visual Studio 2010的智能感知會(huì)只向您顯示你選擇的framework 版本。#p#

5、MultiMonitor:

Visual Studio 2010給我們提供能將IDE的窗體移動(dòng)visual studio IDE之外,將它放至在桌面上。它還支持多面去地去看不同的IDE窗體。如果我們關(guān)閉Visual Studio,并再次打開它,我們會(huì)發(fā)現(xiàn)所有的窗體在我們最后一次放置的地方。

MultiMonitor

6、Code Navigation:

新的導(dǎo)航使我們?cè)谖募懈焖阉餍g(shù)語。但它只能即在App_Code文件夾類文件,搜索您鍵入文本。它不適用于HTML或代碼隱藏文件。在下面的例子,它顯示出我的鍵入函數(shù)名稱,它導(dǎo)航到窗口,選擇窗體中的任何一個(gè),它將能定位到選擇的函數(shù)定義。

Code Navigation

7、View Call Hierarchy:

這有助于查看函數(shù)和屬性的使用,例如,如果你在一個(gè)函數(shù)名右鍵,它會(huì)告訴你的函數(shù)使用分層列表。如果您單擊查看調(diào)用層次,它會(huì)顯示一個(gè)窗體,告訴你詳細(xì)的函數(shù)調(diào)用:在層次結(jié)構(gòu)中選擇窗口函數(shù)調(diào)用它會(huì)顯示的參數(shù)和函數(shù)調(diào)用的位置的詳細(xì)信息。

View Call Hierarchy

8、代碼高亮突出顯示:

選擇一個(gè)標(biāo)識(shí)符,IDE會(huì)為你突出的被使用的地方。例如我選擇變量i,在它不同的使用地方,突出的顯示。

代碼高亮突出顯示

9、智能提示的改進(jìn):

在Visual Studio 2008中,為一個(gè)對(duì)象選擇屬性時(shí),它將根據(jù)輸入的字母的順序排列,為你提供智能提示。在Visual Studio 2010中它將向你顯示基于組的屬性,例如,如果您的文本框?qū)ο蠛箧I入text, 它將向你顯示Text, TextChanged, TextMode。它也支持Pascal的智能提示。例如,你輸入TC,它將導(dǎo)航TextChanged成員。

在下面的圖片中可以看到4.0版本的ClientIDMode屬性:如果我們從項(xiàng)目屬性上改變framework版本。它不會(huì)顯示這個(gè)文本框的這個(gè)屬性。

10、EnablePersistedSelection:

當(dāng)我們選擇像datalist 或者gridview 控件中的一行時(shí),如果我們移動(dòng)到另一個(gè)網(wǎng)頁,在新的頁上,它選擇同編號(hào)行,雖然我們只在第一頁選擇了它。為了避免這個(gè),ASP.NET 4.0為這些控件推出了一種新的屬性,這是EnablePersistedSelection。如果設(shè)置為true,在其他網(wǎng)頁中,將不能選擇同一編號(hào)。例如,導(dǎo)航到原始網(wǎng)頁,第一頁將顯示選定的最初選定的行。

11、Web.Config Transformation

通常為我們的開發(fā)環(huán)境需要在web.config中設(shè)置一些值,然后在部署或測(cè)試的時(shí)候,我們手工地改變這些值。例如,如果我們?cè)赪eb.config文件中有連接字符串或其他任何鍵值組合,在項(xiàng)目發(fā)布或部署的時(shí)候,我們要去替換他們,這里我們將使用新的術(shù)語:Web.Config Transformation。這是一種自動(dòng)的方式來執(zhí)行此操作。Web.config 設(shè)置能被其他的配置文件覆蓋,如:web.release.config,web.debug.config 等等,在項(xiàng)目debug和release時(shí)候。

這些值不會(huì)覆蓋原web.config,但會(huì)在發(fā)布的web.config中。有了transformation的幫助,我們可以替換,移除,刪除一個(gè)節(jié)點(diǎn)和我們可以刪除或設(shè)置節(jié)點(diǎn)自身的屬性。例如:

1、創(chuàng)建一個(gè)配置文件,從configuration manager > New。

2、將其命名為 TransformWebConfig。從copy setting from 選項(xiàng)中選擇Release。這將會(huì)創(chuàng)建TransformWebConfig.config。

3、右擊web.config,選擇'Add config Transfroms ’選項(xiàng)。打開Web.config并添加一個(gè)測(cè)試鍵和值。

  1. <appSettings>   
  2. <add key="KeyOne" value="A value"/>   
  3. </appSettings> 

4、打開TransformWebConfig.config,并添加下面一行。

  1. <appSettings>   
  2. <add key="KeyOne" value="TestOnConfigurationConfig" xdt:Transform="Replace" 
  3. xdt:Locator="Match(key)" />   
  4. </appSettings> 

5、右擊項(xiàng)目,選擇'Create Package’。 VS會(huì)從TransformWebConfig.config文件獲取值,它將改變我們發(fā)布的web.config文件中的值。在成功生成的OBJ文件夾中,檢查TransformWebConfig文件夾下的web.config,您會(huì)看到關(guān)鍵字KeyOne的值為TestOnConfigurationConfig。#p#

12、URL Routing:

現(xiàn)在,我們看到網(wǎng)站的URL是更具體的SEO。不顯示任何描述性信息,在ASP.NET 2.0的URL映射為我們提供了一個(gè)選項(xiàng),在一定程度上實(shí)現(xiàn)此功能。我們可以提供確切的網(wǎng)址導(dǎo)航和URL顯示給用戶。Url routing在ASP.NET 3.5中引入。開發(fā)者創(chuàng)建不同的route處理類取決于網(wǎng)站url routings的數(shù)量。由于有url routing選項(xiàng),回發(fā)的問題能被解決。

在ASP.NET 4.0中你不需要為每個(gè)單獨(dú)的處理程序類來定義routing。建立一個(gè)輔助函數(shù)MapPageRoute,幫助您實(shí)現(xiàn)更快速的routing。這些routes在Application_Start中注冊(cè)。對(duì)于這個(gè)在Global.asax SetRouting方法的示例中設(shè)置routing,第一個(gè)參數(shù)是routing的友好名稱,第二個(gè)參數(shù)是檢查URL進(jìn)行模式匹配,第三個(gè)是在aspx頁將這一功能為用戶實(shí)施。Global.asax中是:

  1. protected void Application_Start(object sender, EventArgs e)   
  2. {   
  3. SetRouting(System.Web.Routing.RouteTable.Routes);   
  4. }   
  5. private void SetRouting(System.Web.Routing.RouteCollection routeCollection)   
  6. {   
  7. routeCollection.MapPageRoute("RouteFriendlyName", "MyWebsite/RequestParameterName",  
  8. "~/Book.aspx");   
  9. // you can add other page routes with different names and combinations here   

現(xiàn)在Book.aspx將使用下面的代碼進(jìn)行進(jìn)一步處理。

  1. string Parameter = Page.RouteData.Values["RequestParameterName"].ToString();   
  2. if (Parameter==”Chemistry”){....}   
  3. else if (Parameter==”Physics”){....} 

現(xiàn)在,如果條件滿足,如果我們將首先瀏覽到localhost / MyWebsite /Chemistry 。

13、Add Reference Dialog:

Add Reference Dialog

在Visual Studio以前的版本中,當(dāng)打開reference dialog box時(shí),這將需要一些時(shí)間來加載.NET程序集文件開始直到它加載從GAC中所有引用。在默認(rèn)情況下打開項(xiàng)目選項(xiàng)卡,在Visual Studio 2010上添加引用。如果你錯(cuò)誤地點(diǎn)擊.Net或COM選項(xiàng)卡,你還有一個(gè)是取消的所有程序集加載的選項(xiàng)。因此,Visual Studio IDE的并不像以前凍結(jié)。

14、Compressing Session Values:

ASP.NET session外的進(jìn)程的狀態(tài)值保存在數(shù)據(jù)庫或服務(wù)器上。這些都是以序列化格式保存。發(fā)送到服務(wù)器時(shí)候,更多更大的session將消耗更多的資源 ?,F(xiàn)在,這些可以被壓縮在一個(gè)新的構(gòu)建compressionEnabled屬性中。這種對(duì)sessionState元素屬性,可以在web.config這樣被聲明。

  1. <sessionState 
  2. mode="SQLServer" stateConnectionString="connectionstring goes here"   
  3. compressionEnabled="true"/> 

此選項(xiàng)將用于session外的進(jìn)程。

15、Dynamic lookup:  

有一個(gè)新的靜態(tài)類型:dynamic。我們可以使用它作為任何對(duì)象的類型。如果有任何關(guān)于它的用法,我們能在運(yùn)行時(shí),得到它的錯(cuò)誤。例如:

  1. dynamic integerValue = 1;   
  2. dynamic stringValue = " a string";   
  3. dynamic Result = integerValue + stringValue; 

輸出這將是:字符串 1。但是如果你改變最后一行:

  1. dynamic Result = integerValue & stringValue; 
  2.  

你不會(huì)得到任何下面的編譯錯(cuò)誤,在運(yùn)行時(shí),你會(huì)得到下面的錯(cuò)誤。

  1. Operator '&' cannot be applied to operands of type 'int' and 'string'
  2.  

16、Optional Parameters

在ASP.NET 4之前,為了實(shí)現(xiàn)可選的參數(shù),我們創(chuàng)建重載函數(shù)。但現(xiàn)在在C#中,可選參數(shù)沒有更多的限制。但是象VB的可選參數(shù)必須放置到最后。例如:

  1. public void FunctionOptionalParam(string Name, int Age, string Country = ""
  2.  

我們可以不提要求的可選參數(shù)的值。

  1. FunctionOptionalParam("My Full Name",20);
  2.  

#p#
17、Named Parameters:

命名的參數(shù)可以忽略的參數(shù)順序,在不同順序的使用帶名稱的參數(shù)。例如:

  1. public void FunctionNamedParam(int x, int y , int z) 
  2.  

在函數(shù)調(diào)用將是:

  1. FunctionNamedParam(x:1, z:3, y:2); 
  2.  

在函數(shù)聲明的順序之前,雖然我們?yōu)閰?shù)設(shè)置了Z的值,但這些仍然等同于x = 1,ý = 2,z=3。

18、Meta Tags:

HtmlMeta類可用于動(dòng)態(tài)添加HTML meta的標(biāo)簽和HTMLMeta的名稱,內(nèi)容屬性可以被用來在運(yùn)行時(shí)動(dòng)態(tài)添加任何繼標(biāo)記名稱和它的值。在ASP.NET 4.0 Page類中有兩個(gè)屬性MetaDescription和MetaKeywords。這些可以用來在運(yùn)行時(shí)在html中為description和keyword元素添加meta的值。這些可以在HTML中提及頁面屬性或以這種方式:

  1. Page.MetaDescription = "this is meta description";  
  2. Page.MetaKeywords = "this is a meta keyword"

如果這樣我們看到這樣的HTML生成:

  1. <head> 
  2. <meta name="description" content="this is meta description " /> 
  3. <meta name="keywords" content="this is a meta keyword" /> 
  4. </head> 

19、Generating Client IDs:

web控件的客戶端ID是根據(jù)父控件ID動(dòng)態(tài)的產(chǎn)生。 所以,如果你在一個(gè)用戶控件中使用textbox,我們必須查看為它生產(chǎn)什么樣ID,才能在客戶端的腳本中直接使用。有時(shí)這些是動(dòng)態(tài)的改變用戶控件的名稱也更改它的子控件ID。在ASP.NET 4.0中,這個(gè)問題是可以由頁面的ClientIDMode屬性解決。它有如下可能的值:AutoID , Static, Predictable 和Inherit。

AutoID: 是webpage 的默認(rèn)值,功能和以前ASP.NET的版本一樣。

Static: 為控件設(shè)置一個(gè)靜態(tài)的ID,所以我們不需要當(dāng)心父控件的ID,我們也能使用javascript引用它。例如一個(gè)用戶控件里面的textbox ,它外面胡一個(gè)ClientIDMode設(shè)置為static。

  1. <asp:TextBox ID="textbox1" runat="server" clientIDMode="Static"></asp:TextBox>   
  2. <uc1:WebUserControl ID="WebUserControl1" runat="server" /> 

這個(gè)用戶控件包含了textbox2:

  1. <asp:TextBox ID="TextBox2" ClientIDMode="Static" runat="server"></asp:TextBox> 
  2.  

這個(gè)代碼將產(chǎn)生下面的HTML:

  1. <input name="ctl00$MainContent$textbox1" type="text" id="textbox1" />   
  2. <input name="ctl00$MainContent$WebUserControl1$TextBox2" type="text" id="TextBox2" /> 

如果我們移除ClientIDMode="static" ,輸出胡HTML將會(huì)是:

  1. <input name="ctl00$MainContent$textbox1" type="text" id="MainContent_textbox1" /> 
  2.  

它將產(chǎn)生象以前ASP.NET版本的textbox的ID。

Predictable:如果gridview 或者listview控件中我們?cè)O(shè)置ClientIDMode的值為Predictable,它將會(huì)串連控件ID和Gridview的ID,column的值在ClientIDRowSuffiex屬性上提到:

  1. Gridview ID ="GridView1" 
  2. ClientIDMode="Predictable" 
  3. ClientIDRowSuffix="ItemID" 

如果在gridview的模板列中的有一個(gè)ID為Label1的label控件 ,它被綁定在ItemID列上。它的ID將會(huì)是:ID= GridView1_Label1_200。如果我們用數(shù)據(jù)綁定控件之外使用web控件,設(shè)置ClientIDMode等于Predictable:

  1. <asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Predictable"></asp:TextBox> 
  2. <asp:Panel ID="panel1" runat="server"> 
  3. <asp:TextBox ID="TextBox2" runat="server" ClientIDMode="Predictable"></asp:TextBox>   
  4. </asp:Panel> 

你可以看到webcontrols在一個(gè)面板輸出和另外一個(gè)再面板以外輸出。

  1. <input name="ctl00$MainContent$TextBox1" type="text" id="MainContent_TextBox1" /> 
  2. <div id="MainContent_panel1"> 
  3. <input name="ctl00$MainContent$TextBox1" type="text" id="MainContent_TextBox1" /> 
  4. </div> 

它將產(chǎn)生所有web控件的ID,是panel的頁面的ID加上子控件的ID。Inherit: WEB控件默認(rèn)是繼承父容器的ID。 控件能覆蓋它父控件的屬性。所以我能為ClientModeID設(shè)置不同的值。

20、Permanent Redirect :

在有些情況下,如果當(dāng)前頁面已經(jīng)過時(shí),我們希望將用戶重定向到新開發(fā)的網(wǎng)頁。 我們可以使用Response.Redirect轉(zhuǎn)移頁到新的頁面。但是,在這種情況下,搜索引擎保存搜索索引的網(wǎng)頁的舊信息。 另外,如果用戶瀏覽到這個(gè)網(wǎng)頁,他將被重定向到這個(gè)網(wǎng)頁,然后用命令的response.redriect幫助新打開的一頁。

但在ASP.NET 4.0中一個(gè)新的命令Response.RedirectPermanent可用于更改服務(wù)器頁上的頭信息。因此,如果用戶去為他直接重定向到新的一頁,并為他節(jié)省了雙行頁面。在該網(wǎng)站和網(wǎng)頁更新的發(fā)現(xiàn)頭和更新其索引信息,展示最新的信息重新搜索索引同樣的搜索引擎。

21、New Browser Definitions:

在ASP.net 3.5近幾年,一些瀏覽器已經(jīng)更新,其中包括Google chrome和那些支持blackberry智能手機(jī)。 ASP.Net 4.0的HttpBrowserCapabilities類被更新符合支持新瀏覽器。

22、Package/Publish :

Package/Publish

Package/Publish提供設(shè)置 publish和package命令。配置調(diào)試選項(xiàng),像以前的版本一樣,Publish提供設(shè)置編譯和生成的選項(xiàng)。如果托管服務(wù)器上沒有SQL Express或如果您不希望包含發(fā)布的文件,然后選擇從App_Data文件夾中排除的那些文件。如果您選擇選項(xiàng)創(chuàng)建一個(gè)的Web包像ZIP文件,它會(huì)創(chuàng)建一個(gè)部署的zip文件。否則,將是默認(rèn)解壓縮的文件夾。

默認(rèn)情況下,程序包在應(yīng)用程序的OBJ文件夾下創(chuàng)建。默認(rèn)它不會(huì)在解決方案瀏覽器中顯示,直到您選擇顯示所有文件選項(xiàng)。我們還可以設(shè)置服務(wù)器Web應(yīng)用程序名稱以及目標(biāo)服務(wù)器的物理路徑。

Deploy SQL

23、Deploy SQL :

部署SQL選項(xiàng),允許您設(shè)置將連接字符串作為部署的一部分。您可以使用不同的名稱和值手動(dòng)添加連接字符串,或按一下import按鈕從web.config導(dǎo)出。你可以僅僅選擇模式腳本或數(shù)據(jù)庫選項(xiàng)。在一個(gè)連接字符串顯示源設(shè)置,我們可以為設(shè)置目標(biāo)服務(wù)器的值。您還可以手動(dòng)添加數(shù)據(jù)庫腳本文件,通過點(diǎn)擊添加按鈕。您還可以更改SQL文件,以便在服務(wù)器上運(yùn)行。

Deploy SQL

Visual Studio 2010 全球發(fā)布會(huì)

【編輯推薦】

  1. Visual Studio 2010應(yīng)成為微軟.NET平臺(tái)里程碑
  2. Visual Studio 2010中調(diào)試.NET應(yīng)用程序詳解
  3. 升級(jí)Visual Studio 2010和.Net 4注意要點(diǎn)
  4. 專家揭秘Visual Basic 2010的十大新特性
  5. Visual Studio 2010代碼編譯器特性分析
責(zé)任編輯:王曉東 來源: 博客園
相關(guān)推薦

2009-05-19 09:21:50

Visual Stud云計(jì)算并行編程

2009-08-26 09:26:04

Visual Stud

2025-04-16 00:00:02

2009-09-01 13:26:42

JBossWS 3.2

2021-01-13 11:28:48

TensorFlow 機(jī)器學(xué)習(xí)人工智能

2009-06-02 09:38:26

javafx發(fā)布JavaFX介紹JavaFX

2017-10-24 14:57:12

前端Vue 2.5新功能特性

2009-03-08 19:05:05

Windows 7企業(yè)版

2010-02-22 14:00:29

Visual Stud

2010-01-13 09:11:04

Visual Stud

2013-11-13 10:07:26

Visual Stud微軟

2010-04-16 13:33:54

Visual Stud

2012-02-27 16:44:01

redisNoSQL

2010-03-31 14:13:23

Visual Stud.Net Framew

2020-02-20 16:54:05

Android 11谷歌功能

2009-10-22 14:50:00

Visual Stud

2013-06-04 17:08:19

Visual Stud

2009-12-02 11:22:14

Visual Stud

2010-04-12 08:43:45

Visual Stud

2020-02-17 15:29:00

石墨文檔
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品视频在线免费观看 | 一区二区三区精品在线视频 | 91精品国产91久久久久福利 | 国产免国产免费 | 精品视频在线观看 | av手机免费在线观看 | 国产精品中文字幕在线 | 黄色网址在线播放 | 91精品国产欧美一区二区 | 在线成人av | 国产日韩一区二区 | av第一页 | 国产精品日韩欧美一区二区 | 免费福利视频一区二区三区 | 日韩电影在线一区 | 在线观看日韩av | 黄色三级毛片 | 国产精品夜色一区二区三区 | 免费一级大片 | 综合久久久久久久 | 伊人久操 | 欧美在线天堂 | 最新国产视频 | 99在线播放 | 激情欧美一区二区三区 | 日韩在线中文字幕 | 毛片入口 | 国产高清视频在线观看 | 成人夜晚看av | 久久av一区二区三区 | 99久久久无码国产精品 | 国产精品一区二区三区在线 | 一二三四av | 99精品欧美一区二区三区综合在线 | 国产欧美一区二区三区另类精品 | 免费特级黄毛片 | 午夜播放器在线观看 | 综合国产 | 亚洲欧美日韩精品久久亚洲区 | 国产精品二区三区在线观看 | 亚洲欧美日韩电影 |