在今天我主要要介紹的有如下知識(shí)點(diǎn):
Visual Studio 2005網(wǎng)站開發(fā)環(huán)境
任務(wù)管理器
配置外部工具
代碼段管理器
發(fā)布網(wǎng)站
之所以要單獨(dú)用一篇文章來(lái)介紹Visual Studio 2005這個(gè)集成開發(fā)環(huán)境,是因?yàn)樵谧銎髽I(yè)培訓(xùn)的時(shí)候,發(fā)現(xiàn)很多程序員僅僅用了一些基本功能,這個(gè)好像也符合軟件界一個(gè)“20%和80%法則”,就是80%的用戶只用到了軟件的20%的功能。確實(shí)有時(shí)候利用基本功能就足以進(jìn)行開發(fā)了,但是有些功能能夠方便我們的開發(fā),有些能提高我們的開發(fā)速度,所以我覺得這些計(jì)較值得跟大家交流一下。
Visual Studio 2005網(wǎng)站開發(fā)環(huán)境
下面分別說(shuō)明這幾種網(wǎng)站的特點(diǎn):
文件系統(tǒng)網(wǎng)站:文件系統(tǒng)網(wǎng)站可能是用得比較多的網(wǎng)站類型,可以指定網(wǎng)站文件的存放位置,便于幾種管理。創(chuàng)建文件系統(tǒng)類型網(wǎng)站時(shí)開發(fā)者機(jī)器上不需要安裝IIS,可以用ASP.NET Development Server來(lái)進(jìn)行測(cè)試。不過ASP.NET Development Server上的網(wǎng)站或者虛擬目錄不能在其它機(jī)器上訪問,它運(yùn)行的時(shí)候隨機(jī)選擇一個(gè)大于1024的端口作為Wen服務(wù)器端口(因?yàn)?024以下的端口已經(jīng)被指定了用途,比如21作為ftp監(jiān)聽端口,80作為HTTP監(jiān)聽端口)。文件系統(tǒng)網(wǎng)站只適合開發(fā)階段,在部署的時(shí)候服務(wù)器上還是需要安裝IIS的。
本地HTTP網(wǎng)站:本地HTTP網(wǎng)站就是利用IIS作為Web容器運(yùn)行。每次創(chuàng)建一個(gè)Web網(wǎng)站時(shí)都會(huì)在IIS默認(rèn)網(wǎng)站主目錄下創(chuàng)建一個(gè)虛擬目錄,IIS默認(rèn)網(wǎng)站的物理路徑是[系統(tǒng)分區(qū)]: /Inetpub/wwwroot。
注意按照本地HTTP網(wǎng)站方式創(chuàng)建的網(wǎng)站的物理路徑會(huì)在系統(tǒng)分區(qū)下,這和用Visual Studio 2002及Visual Studio 2003創(chuàng)建的Web項(xiàng)目一樣,因此使用Visual Studio 2005打開早期版本的項(xiàng)目時(shí)需要將該項(xiàng)目設(shè)置為IIS下的虛擬目錄。
遠(yuǎn)程HTTP網(wǎng)站:遠(yuǎn)程HTTP網(wǎng)站是將Web項(xiàng)目創(chuàng)建在同一局域網(wǎng)內(nèi)的其它主機(jī)的IIS主目錄下,遠(yuǎn)程主機(jī)必須要安裝IIS和Microsoft FrontPage 2002擴(kuò)展。
FTP網(wǎng)站:FTP網(wǎng)站是在遠(yuǎn)程服務(wù)器上創(chuàng)建網(wǎng)站,利用FTP對(duì)文件進(jìn)行管理。
在實(shí)際開發(fā)中使用最多的是文件系統(tǒng)網(wǎng)站和本地HTTP網(wǎng)站,因?yàn)楸阌趫F(tuán)隊(duì)之間利用源代碼管理工具(如VSS和SVN)進(jìn)行協(xié)同開發(fā)。
需要注意的是使用文件系統(tǒng)網(wǎng)站不能使用基于HTTP的身份驗(yàn)證、應(yīng)用程序池和ISAPI篩選器等功能。
在實(shí)際開發(fā)中習(xí)慣建立一個(gè)解決方案,然后將解決方案文件及類庫(kù)項(xiàng)目和Web網(wǎng)站項(xiàng)目放在一個(gè)文件夾下,這樣便于管理和維護(hù)。下面我演示一下創(chuàng)建一個(gè)帶解決方案的Web項(xiàng)目的創(chuàng)建過程:
首先選擇“文件”-“新建”-“項(xiàng)目”,這時(shí)會(huì)彈出一個(gè)對(duì)話框,如下圖:
任務(wù)管理器
任務(wù)管理器是一個(gè)很有用的功能。假如我們開發(fā)的項(xiàng)目很大,在項(xiàng)目中有些代碼沒有完成,為了單元測(cè)試我們可能會(huì)使用一些代碼來(lái)欺騙編譯器以達(dá)到測(cè)試項(xiàng)目中的其它功能模塊的作用,在測(cè)試完之后應(yīng)該即使完成這些代碼,為了將來(lái)能順利找到這些代碼塊,我們可以做一下標(biāo)記,便于將來(lái)查找。甚至我們?cè)跇?gòu)建網(wǎng)站框架的時(shí)候可以做一些備注。
下面的代碼就是一個(gè)例子:
- using System;
- using System.Data;
- /// <summary>
- /// MyClass是一個(gè)演示類,演示如何添加任務(wù)
- /// 作者:周金橋
- /// 時(shí)間:2008-09-19
- /// 首發(fā)地址:http://blog.csdn.net/zhoufoxcn
- /// </summary>
- public class MyClass
- {
- public MyClass()
- {
- //
- // TODO: 在此處添加構(gòu)造函數(shù)邏輯
- //
- }
- public bool Insert()
- {
- //TODO:這里的代碼需要完善
- return false;
- }
- public bool Delete()
- {
- //TODO:這里的代碼需要完善
- return false;
- }
- }
要想看到這些信息,我們可以通過如下步驟:“視圖”-“任務(wù)列表”,就會(huì)在Visual Studio 2005的下方看到這些信息,如下圖:
配置外部工具
對(duì)于開發(fā)中我們可能會(huì)經(jīng)常用到一些外部工具,比如ILDASM和ILASM等,我們可以配置成Visual Studio 2005的一個(gè)菜單項(xiàng),需要的時(shí)候點(diǎn)擊一下就可以打開,而不必每次都費(fèi)時(shí)費(fèi)力找到該文件所在的位置再雙擊打開。配置過程如下:
從工具欄上找到“工具”-“配置”,如下圖:
代碼段管理器
所謂代碼段,就是一些格式比較固定代碼,除了某些細(xì)節(jié)上個(gè)差別之外,大部分格式都是一樣的。比如要為類定義一個(gè)屬性,一般要定義一個(gè)私有變量,然后在添加get或者set方法或者二者同時(shí)具備。在我們的工作工免不了經(jīng)常要做這些枯燥的工作,不過在Visual Studio 2005中微軟為我們提供了一種便捷操作,以減少這種枯燥的工作帶來(lái)的乏味。
比如我們想給增加一個(gè)屬性,我們敲入pr的時(shí)候,會(huì)出現(xiàn)下圖所示的智能提示:
- <?xml version='1.0' encoding='utf-8'?>
- <CodeSnippets xmlns='http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet'>
- <CodeSnippet Format='1.0.0'>
- <Header>
- <Title>try</Title>
- <Shortcut>try</Shortcut>
- <Description>try catch 的代碼段</Description>
- <Author>Microsoft Corporation</Author>
- <SnippetTypes>
- <SnippetType>Expansion</SnippetType>
- <SnippetType>SurroundsWith</SnippetType>
- </SnippetTypes>
- </Header>
- <Snippet>
- <Declarations>
- <Literal>
- <ID>expression</ID>
- <ToolTip>異常類型</ToolTip>
- <Function>SimpleTypeName(global::System.Exception)</Function>
- </Literal>
- </Declarations>
- <Code Language='csharp'><![CDATA[try
- {
- $selected$
- }
- catch ($expression$)
- {
- $end$
- throw;
- }]]>
- </Code>
- </Snippet>
- </CodeSnippet>
- </CodeSnippets>
我們將上面的代碼改為如下形式:
- <?xml version='1.0' encoding='utf-8'?>
- <CodeSnippets xmlns='http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet'>
- <CodeSnippet Format='1.0.0'>
- <Header>
- <Title>trycf</Title>
- <Shortcut>trycf</Shortcut>
- <Description>try catch finally的代碼段</Description>
- <Author>周金橋</Author>
- <SnippetTypes>
- <SnippetType>Expansion</SnippetType>
- <SnippetType>SurroundsWith</SnippetType>
- </SnippetTypes>
- </Header>
- <Snippet>
- <Declarations>
- <Literal>
- <ID>expression</ID>
- <ToolTip>異常類型</ToolTip>
- <Function>SimpleTypeName(global::System.Exception)</Function>
- </Literal>
- </Declarations>
- <Code Language='csharp'><![CDATA[try
- {
- $selected$
- }
- catch ($expression$ exception)
- {
- $end$
- throw;
- }
- finally
- {
- }
- ]]>
- </Code>
- </Snippet>
- </CodeSnippet>
- </CodeSnippets>
這里對(duì)幾個(gè)部分做一下簡(jiǎn)單介紹:
Shortcut:快捷鍵,將來(lái)在代碼中敲入這部分然后鍵入Tab鍵就能使用這個(gè)代碼段。
Description:代碼段描述。
Author:代碼段的作者。
Code Language='csharp':表示這是C#語(yǔ)言的代碼段。
<![CDATA[]]>:代碼段代碼,用戶使用快捷鍵時(shí)將會(huì)在光標(biāo)處插入這些代碼。
$end$:這是一個(gè)特殊參數(shù),用于指定用戶在代碼段字段中填寫完內(nèi)容并按下 Enter 鍵后光標(biāo)所在的位置。
$selected$:這是一個(gè)特殊參數(shù),只對(duì) SurroundsWith 類型的代碼段有意義。
將上面改造后的“trycf.snippet”放到[系統(tǒng)分區(qū)]: /Program Files/Microsoft Visual Studio 8/VC#/Snippets/2052/Visual C#文件夾下,打開代碼,敲入“trycf”會(huì)看到如下結(jié)果:
發(fā)布網(wǎng)站
和asp和php代碼嵌入到網(wǎng)頁(yè)中不同,如果我們采用了頁(yè)面與代碼分離的模式進(jìn)行Web網(wǎng)站的開發(fā),那么我們就可以在發(fā)布時(shí)對(duì)我們的網(wǎng)站代碼做一定的保密處理,這種處理就是隱藏掉與aspx頁(yè)面相關(guān)的代碼,這種辦法可以限制別人直接查看我們的代碼。
下面以我們剛剛建立的網(wǎng)站為例,在網(wǎng)站上點(diǎn)擊鼠標(biāo)右鍵,出現(xiàn)如下菜單:
后記:這里僅僅列出了一部分技巧,有機(jī)會(huì)還會(huì)繼續(xù)講,比如單元測(cè)試和性能測(cè)試等等。下一篇將講到Page類,有關(guān)Page類的生命周期。注意,因?yàn)閭€(gè)人空間大小和下載速度受限,所以以后不再提供從本人主機(jī)上的下載地址,可以到www.verycd.com下載《ASP.NET夜話》的測(cè)試版視頻教程。地址是:http://www.verycd.com/topics/2730883/
聯(lián)系客服