<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      在我的第一篇博客中,我發(fā)布過(guò)一個(gè)示例項(xiàng)目, 主要演示了我的我的AJAX框架我的通用數(shù)據(jù)訪問(wèn)層。 雖然在當(dāng)初我認(rèn)為我已考慮地比較周全了,而且還提供了足夠的說(shuō)明文檔, 但在發(fā)布后的將近一年的時(shí)間里,還是有不少人給我發(fā)郵件,問(wèn)我一些關(guān)于不能運(yùn)行示例的問(wèn)題。 在所有問(wèn)題中,主要集中在IIS和SQL SERVER的配置方面。 因此,我認(rèn)為還是有必要再來(lái)談一下在IIS6/7以及SQL SERVER中部署ASP.NET網(wǎng)站的過(guò)程了。

      在上篇博客【寫自己的ASP.NET MVC框架(下)】中, 我又發(fā)布了一個(gè)示例項(xiàng)目,它也包含一個(gè)網(wǎng)站項(xiàng)目,今天的介紹過(guò)程將主要以這個(gè)示例為主。 對(duì)于以前的示例所需配置的相同部分將不會(huì)重復(fù)介紹,不同點(diǎn)則會(huì)額外補(bǔ)充。

      查看web.config文件

      ASP.NET網(wǎng)站與一般的桌面程序不同,不是拷貝過(guò)來(lái)就能運(yùn)行的(數(shù)據(jù)庫(kù)連接除外)。 要想運(yùn)行它,通常需要一些配置過(guò)程。
      但是,我們到底需要配置什么呢?
      答案是:查看web.config

      web.config通常會(huì)放在網(wǎng)站的根目錄,這個(gè)文件中包含了一最重要的網(wǎng)站運(yùn)行參數(shù)。比如: connectionStrings,httpHandlers,httpModules ,這些參數(shù)都是網(wǎng)站開(kāi)發(fā)人員認(rèn)為運(yùn)行網(wǎng)站所必需的參數(shù)。 因此,如果我們想將一個(gè)網(wǎng)站部署到IIS中,必須首先打開(kāi)web.config文件,逐個(gè)確認(rèn)這些重要的參數(shù)是否符合要求。

      這里要補(bǔ)充一點(diǎn)的是:有些開(kāi)發(fā)人員喜歡將各類參數(shù)放在appSettings配置節(jié)中,即便是數(shù)據(jù)庫(kù)的連接字符串也放在appSettings中。 我只能說(shuō):這是個(gè)很不好的習(xí)慣。因此,在部署這類網(wǎng)站時(shí),可能還要注意一下appSettings是否包含數(shù)據(jù)庫(kù)的連接字符串, 這就需要人工識(shí)別了。當(dāng)然了,appSettings中還可能包含一些重要目錄配置,同樣,也只能人工識(shí)別了。

      今天要講述的參數(shù)主要涉及到IIS和SQL SERVER,因此本文將會(huì)分開(kāi)介紹它們。
      而且IIS還會(huì)分為6和7.5二個(gè)版本來(lái)單獨(dú)演示。
      SQL SERVER則以 2005 Express版本來(lái)演示。
      我演示所用的操作系統(tǒng)為:Windows Server 2003和Windows 7 ,它們分別附帶了IIS 6和IIS 7.5

      說(shuō)明:通常我們?cè)诓渴鹁W(wǎng)站時(shí),都應(yīng)該先根據(jù)web.config定義的那些重要參數(shù)來(lái)配置網(wǎng)站。 但為了讓您能對(duì)這些參數(shù)有較深刻的印象,下面的演示中,不是先根據(jù)web.config來(lái)配置網(wǎng)站, 而是采用【從創(chuàng)建一個(gè)站點(diǎn)后,一步一步地發(fā)現(xiàn)問(wèn)題并解決】的方式來(lái)講解這個(gè)過(guò)程。

      在IIS中創(chuàng)建網(wǎng)站

      每個(gè)ASP.NET程序都是一個(gè)網(wǎng)站,要想運(yùn)行它們,都需要在IIS中部署它們, 部署的第一步就是要在IIS創(chuàng)建一個(gè)網(wǎng)站。 在IIS中創(chuàng)建網(wǎng)站的過(guò)程比較簡(jiǎn)單,因?yàn)镮IS都提供向?qū)Ы缑鎭?lái)幫助我們完成這個(gè)配置過(guò)程, 因此,本文打算省略那些無(wú)意義的貼圖。

      說(shuō)明,我們先從IIS6開(kāi)始。 這里只要求您在IIS中創(chuàng)建一個(gè)網(wǎng)站,把它配置成網(wǎng)站就可以了,其它的配置我們后面再談。
      示例項(xiàng)目:點(diǎn)擊此處進(jìn)入 MyMVC DEMO 下載頁(yè)面

      網(wǎng)站創(chuàng)建好了嗎?我停下來(lái)等一下吧。

      我的網(wǎng)站配置好了,現(xiàn)在已經(jīng)可以用瀏覽器訪問(wèn)它。

      現(xiàn)在我們可以切換風(fēng)格來(lái)試試效果,點(diǎn)擊頁(yè)面右上角的【3】試試看。

      噢,怎么一開(kāi)始就出錯(cuò)了:

      看到這個(gè)提示,不要茫然。為了界面友好,我用JavaScript捕獲了這個(gè)錯(cuò)誤,但現(xiàn)在我們需要知道錯(cuò)誤的原因是什么,怎么辦呢?

      有FireBug或者Fiddler2嗎?
      如果有,就打開(kāi)它們吧。下圖是我用FireBug看到的錯(cuò)誤原因(需要重新執(zhí)行剛才的操作):

      從FireBug中,我們可以看到,剛才的操作觸發(fā)了一次請(qǐng)求,請(qǐng)求的地址是:/AjaxStyle/SetStyle.cspx
      cspx是個(gè)什么擴(kuò)展名呢?還是打開(kāi)web.config看一下吧。

      <httpHandlers>
          <add path="*.cspx" verb="*" type="MyMVC.AjaxHandlerFactory, MyMVC" validate="true" />
          <add path="*.aspx" verb="*" type="MyMVC.MvcPageHandlerFactory, MyMVC" validate="true" />
          <add path="/mvc/*" verb="*" type="MyMVC.MvcPageHandlerFactory, MyMVC" validate="true" />
      </httpHandlers>
      

      在web.config中,網(wǎng)站要求配置的一些httpHandlers中,第一個(gè)便是針對(duì)【cspx】擴(kuò)展名的。

      這里我要解釋一下【cspx】這個(gè)擴(kuò)展名了。在以前的示例中,我選擇了【cs】這個(gè)擴(kuò)展名表示一個(gè)AJAX調(diào)用, 但是,后來(lái)發(fā)現(xiàn)很多人在IIS中部署中遇到問(wèn)題了(原因后面再說(shuō))。于是,這次我換了個(gè)擴(kuò)展名。 然而,又有人問(wèn)我:cspx, 是不是寫錯(cuò)了? 或許他認(rèn)為應(yīng)該是【aspx】才對(duì)。

      這個(gè)問(wèn)題我用郵件回答過(guò)多次了,今天用博客的形式再回答一次:
      取什么擴(kuò)展名都不重要,我只要選擇沒(méi)有用過(guò)的擴(kuò)展名來(lái)區(qū)分是AJAX調(diào)用就可以了。 我也可以取【fish】來(lái)做為AJAX請(qǐng)求地址的擴(kuò)展名,只是擔(dān)心一些人認(rèn)為俗氣而已。

      IIS6 添加擴(kuò)展名映射

      回到IIS,在網(wǎng)站節(jié)點(diǎn)上,右擊,從彈出的菜單中,選擇【屬性】,然后在彈出的對(duì)話框中,選擇【主目錄】選項(xiàng)卡,并點(diǎn)擊【配置】按鈕。 此時(shí)的界面應(yīng)該是這樣的:

      找到【ascx】這個(gè)擴(kuò)展名,雙擊它,是不是彈出下面這個(gè)對(duì)話框?

      照著圖片的操作去完成:復(fù)制【可執(zhí)行文件】的設(shè)置路徑。然后點(diǎn)擊【取消】關(guān)閉對(duì)話框。

      此時(shí)將回到【應(yīng)用程序配置】對(duì)話框,點(diǎn)擊【添加...】按鈕,

      照著圖片操作吧。對(duì)話框中的【可執(zhí)行文件】的參數(shù),此時(shí)已在Windows剪切板中,現(xiàn)在只要粘貼就可以了。

      全部【確定】,關(guān)閉所有對(duì)話框,再回到瀏覽器,然后再試一次。

      現(xiàn)在可以操作了吧?

      先不要點(diǎn)擊其它鏈接,還是來(lái)對(duì)剛才的操作做個(gè)小結(jié)吧。

      在ASP.NET中,有時(shí)候我們可能會(huì)需要?jiǎng)?chuàng)建自己所需的HttpHandler來(lái)處理一些特殊的請(qǐng)求。
      我的MyMVC框架就有這個(gè)需求:將AJAX請(qǐng)求與頁(yè)面的請(qǐng)求分開(kāi)來(lái)處理。
      所以我們需要一些特殊格式的URL。通常選擇一個(gè)沒(méi)用過(guò)的擴(kuò)展名會(huì)比較方便,因此我選擇了 cspx
      為了能告訴ASP.NET將以下格式的ULR映射到AjaxHandlerFactory

      /Fish.AA.AjaxTest/Add.cspx
      /Fish.BB.AjaxTest.Add.cspx
      /Fish/BB/AjaxTest/Add.cspx
      /AjaxDemo/GetMd5.cspx
      /AjaxDemo.GetMd5.cspx
      

      我就需要在web.config中注冊(cè)這種URL模式,并且為了能最好的匹配這些URL,我可以使用下面的配置:

      <httpHandlers>
          <add path="*Ajax*/*.cspx,*Ajax*.*.cspx" verb="*" 
                                      type="MyMVC.AjaxHandlerFactory, MyMVC" validate="true"/>
      </httpHandlers>
      

      我們可以用Visual Studio自帶的WebDev.WebServer.EXE來(lái)運(yùn)行網(wǎng)站程序。
      本來(lái),這一切都是很完美的。
      可是,IIS中并不支持這么復(fù)雜的path設(shè)置,它只能支持簡(jiǎn)單的擴(kuò)展名映射。
      所以,我也只好使用簡(jiǎn)單的擴(kuò)展名:【.cspx】來(lái)向IIS注冊(cè)。

      我再來(lái)解釋一下,為什么在ASP.NET中,前面那個(gè)path能夠識(shí)別我上面所說(shuō)的5種格式的URL?
      在ASP.NET管線的處理器映射階段,ASP.NET會(huì)將【*Ajax*/*.cspx,*Ajax*.*.cspx】轉(zhuǎn)換成下面的正則表達(dá)式, 再來(lái)檢查每個(gè)請(qǐng)求的URL是否匹配。

      
      (?:\A|(?<=/))[^/]*Ajax[^/]*/[^/]*\.cspx\z|(?:\A|(?<=/))[^/]*Ajax[^/]*\.[^/]*\.cspx\z
      
      

      有興趣的話,您也可以檢驗(yàn)一下,這個(gè)正則表達(dá)式與前面的URL都能匹配。
      從這里也可以看出ASP.NET對(duì)處理器的映射實(shí)現(xiàn),是可以支持比較復(fù)雜的URL模式的。
      關(guān)于處理器的映射過(guò)程可以參考我的博客【細(xì)說(shuō) HttpHandler 的映射過(guò)程】

      前面解釋了我為什么最終選擇【.cspx】來(lái)向IIS注冊(cè)處理器了。
      在注冊(cè)時(shí),還有二個(gè)參數(shù)也比較重要:
      1. 可執(zhí)行文件:其實(shí)就是一個(gè)實(shí)現(xiàn)了ISAPI的模塊,IIS會(huì)將匹配的請(qǐng)求交給它,然后由它再交給ASP.NET。 這個(gè)參數(shù)的路徑比較長(zhǎng),我們根本不需要記住它,只需要找個(gè)已有配置中,將它COPY出來(lái)就可以了。
      2. 確認(rèn)文件是否存在:這個(gè)參數(shù)一定不要選擇。因?yàn)槲覀冋?qǐng)求的URL并沒(méi)有對(duì)應(yīng)的文件存在。

      這里要補(bǔ)充一點(diǎn):
      我以前發(fā)布的FishWebLib DEMO中, 使用了【cc】這樣的擴(kuò)展名,可以按照上面的方法注冊(cè)。
      但我還使用了【cs】和【ascx】這二個(gè)擴(kuò)展名。由于這二個(gè)擴(kuò)展名的注冊(cè)已經(jīng)存在了, 所以,我需要修改它們的配置:雙擊配置項(xiàng),確保不要勾選【確認(rèn)文件是否存在】即可。

      IIS6 無(wú)擴(kuò)展名的映射

      讓我們?cè)倩氐角懊嬉雅渲煤玫氖纠校藭r(shí)頁(yè)面的顯示應(yīng)該是這個(gè)樣子的:

      點(diǎn)擊一下頁(yè)面上的鏈接【/mvc/Customers】試試。

      不要以為我是在故意設(shè)置陷阱哦。我在設(shè)計(jì)示例程序時(shí),根本也沒(méi)想到會(huì)這樣。

      到這里,可能有人會(huì)想,在httpHandlers中不是還有個(gè)【path="/mvc/*"】沒(méi)有配置嗎?
      繼續(xù)按照前面的方法去配置就能解決問(wèn)題了。

      好吧,我再照著前面的方法再試著注冊(cè)【path="/mvc/*"】試試,結(jié)果如下:

      因此,前面的方法對(duì)于這類【無(wú)擴(kuò)展名】的URL來(lái)說(shuō),是無(wú)效的。

      對(duì)于這類無(wú)擴(kuò)展名的URL,在IIS6中可以使用添加【通配符應(yīng)用程序映射】的方法來(lái)解決。
      回到【應(yīng)用程序配置】對(duì)話框,點(diǎn)擊【插入...】按鈕,彈出下面的對(duì)話框:

      按照?qǐng)D片來(lái)設(shè)置一下吧。然后,【確定】關(guān)閉對(duì)話框。此時(shí)的設(shè)置應(yīng)該是這樣的:

      全部點(diǎn)擊【確定】關(guān)閉所有對(duì)話框。

      讓我們?cè)俅位氐绞纠绦颍藭r(shí)可以發(fā)現(xiàn),什么問(wèn)題都沒(méi)有了。

      再補(bǔ)充一句:如果使用這種方法,前面注冊(cè)cspx的過(guò)程就不需要了。因?yàn)榇藭r(shí)所有的請(qǐng)求都會(huì)交給ASP.NET,而ASP.NET會(huì)識(shí)別我在web.config中所做的配置。

      目錄的寫入權(quán)限

      為了方便MyMVC DEMO的部署過(guò)程, 這次我選擇了XML文件做為數(shù)據(jù)源。寫入XML的時(shí)機(jī)是在ASP.NET被停止運(yùn)行的時(shí)候(Application_End事件中)。

      讓一個(gè)在IIS中運(yùn)行的網(wǎng)站停止運(yùn)行的方法就是停止網(wǎng)站所使用的【應(yīng)用程序池】。
      可以在網(wǎng)站屬性對(duì)話框中找到網(wǎng)站所使用的【應(yīng)用程序池】:

      再切到IIS的【應(yīng)用程序池】的列表,找到前面那個(gè)【應(yīng)用程序池】,右擊鼠標(biāo),
      從彈出的菜單中點(diǎn)擊【屬性】菜單,然后在出現(xiàn)的對(duì)話框中選擇【標(biāo)識(shí)】選項(xiàng)卡:

      從這個(gè)圖片中,我們可以知道網(wǎng)站以哪個(gè)Windows帳號(hào)在運(yùn)行。記住這里,后面會(huì)用到。

      好吧,點(diǎn)擊【取消】關(guān)閉對(duì)話框。

      補(bǔ)充一點(diǎn):要想知道網(wǎng)站以什么帳號(hào)運(yùn)行,還可以查看【W(wǎng)indows任務(wù)管理器】, 找到w3wp.exe所在進(jìn)程即可:

      回到示例程序中,我們可以隨便添加一些數(shù)據(jù)。
      然后,在【應(yīng)用程序池】列表中,停止網(wǎng)站所使用的應(yīng)用程序池。再啟動(dòng)它。
      重新刷新示例程序的頁(yè)面。

      發(fā)現(xiàn)什么了?是不是數(shù)據(jù)沒(méi)有保存下來(lái)?

      如果發(fā)現(xiàn)數(shù)據(jù)沒(méi)有保存起來(lái),可以繼續(xù)閱讀。

      數(shù)據(jù)不能保存的原因并不是因?yàn)榇a沒(méi)有執(zhí)行,而是因?yàn)椋?b>網(wǎng)站運(yùn)行的帳號(hào)沒(méi)有權(quán)限寫數(shù)據(jù)文件。
      XML是放在網(wǎng)站的App_Data目錄中,為了檢查網(wǎng)站是否有寫入權(quán)限,可以在App_Data目錄上右擊, 然后選擇【屬性】菜單,切換到【安全】選項(xiàng)卡:

      經(jīng)過(guò)前面的分析,我們已經(jīng)知道網(wǎng)站是以【NETWORK SERVICE】帳號(hào)運(yùn)行, 然而,在這個(gè)目錄的安全設(shè)置中,并沒(méi)有允許【NETWORK SERVICE】帳號(hào)能有寫入權(quán)限, 所以,網(wǎng)站在停止運(yùn)行時(shí),是由于沒(méi)有權(quán)限才導(dǎo)致不能保存數(shù)據(jù)的。

      此時(shí),我們可以賦予【NETWORK SERVICE】帳號(hào)對(duì)App_Data目錄有寫入權(quán)限。 設(shè)置如下圖:

      好了,您可以再去重啟網(wǎng)站所在的【應(yīng)用程序池】,會(huì)發(fā)現(xiàn)現(xiàn)在數(shù)據(jù)能正常保存了。

      SQL SERVER的配置

      FishWebLib DEMO中, 我為了演示我的通用數(shù)據(jù)訪問(wèn)層而引入了SQL SERVER, 因此,示例程序需要SQL SERVER的支持。

      首先,還是回到web.config,來(lái)看一下示例程序需要訪問(wèn)什么樣的數(shù)據(jù)庫(kù):

      注意:示例程序需要連接的SQL SERVER服務(wù)器是:localhost\sqlexpress

      我的機(jī)器上安裝了三個(gè)SQL SERVER的實(shí)例:

      因此,我需要以【命名實(shí)例】的方式來(lái)訪問(wèn)。
      如果您的機(jī)器將SQL SERVER做為【默認(rèn)實(shí)例】來(lái)安裝,則需要修改為:localhost

      在示例的壓縮包中,我提供了SQL SERVER所需的數(shù)據(jù)文件:db\MyNorthwind.mdf
      在運(yùn)行示例前,我需要將它【附加】到SQL SERVER中。

      現(xiàn)在需要先啟動(dòng) SQL Server Management Studio ,連接SQL SERVER的實(shí)例后,
      在【對(duì)象資源管理器】的樹(shù)型控件中,找到【數(shù)據(jù)庫(kù)】節(jié)點(diǎn),右擊,然后點(diǎn)擊【附加...】菜單,
      在出現(xiàn)的對(duì)話框中,點(diǎn)擊【添加...】按鈕,選擇MyNorthwind.mdf文件,然后點(diǎn)擊【確定】按鈕。

      我這邊出錯(cuò)了。

      再仔細(xì)地看一下,發(fā)現(xiàn)是日志文件沒(méi)有找到造成的。
      是的,我并沒(méi)將日志文件也放在壓縮包中。
      好吧,在對(duì)話框中刪除日志文件就可以了,再次【確定】。

      還是出錯(cuò):

      注意了:這次的錯(cuò)誤與前面的錯(cuò)誤并不一樣。 這次是說(shuō)沒(méi)有目錄的寫入權(quán)限。

      當(dāng)遇到?jīng)]有目錄的訪問(wèn)權(quán)限時(shí),我們首先要知道程序是以什么帳號(hào)在運(yùn)行。
      這是非常重要的。要不然,如何配置目錄的訪問(wèn)權(quán)限呢?

      判斷程序以什么帳號(hào)運(yùn)行最簡(jiǎn)單方法就是:打開(kāi)【W(wǎng)indows任務(wù)管理器】,然后去找進(jìn)程。
      這個(gè)方法可參考前面的過(guò)程。最終我們可以發(fā)現(xiàn)sqlserver.exe是以【NETWORK SERVICE】帳號(hào)在運(yùn)行(我的機(jī)器是這樣)。
      好吧,再按照前面設(shè)置App_Data目錄權(quán)限的方法再設(shè)置MyNorthwind.mdf文件所在目錄的訪問(wèn)權(quán)限。

      再次嘗試【附加】數(shù)據(jù)庫(kù),將能成功完成。
      在我機(jī)器上,現(xiàn)在已經(jīng)可以運(yùn)行示例程序了。

      說(shuō)明:如果由于種種原因,不使用【Integrated Security=SSPI】的連接認(rèn)證方式,還可以使用【用戶名/密碼】的方式, 那就需要修改web.config中的連接字符串了。

      小結(jié):
      1. 由于SQL SERVER的數(shù)據(jù)文件保存在Windows操作系統(tǒng)中,因此必須授予運(yùn)行SQL SERVER進(jìn)程的帳號(hào)所必需的目錄訪問(wèn)權(quán)限。
      2. 連接到SQL SERVER時(shí),也可能會(huì)因?yàn)镾QL SERVER驗(yàn)證連接身份而失敗,那么也必須配置需要的訪問(wèn)權(quán)限。

      到此為止,示例所需的IIS配置以及SQL SERVER的配置都介紹完了。

      在IIS7中部署ASP.NET程序

      前面介紹了如何在IIS6中部署一個(gè)ASP.NET網(wǎng)站,現(xiàn)來(lái)看一下在IIS7.5中如何完成這個(gè)過(guò)程。
      接下來(lái)的演示將以Windows 7的IIS7.5為準(zhǔn)。

      IIS7.5相對(duì)于IIS6的改進(jìn),給我的感覺(jué)是:部署ASP.NET網(wǎng)站簡(jiǎn)直太容易了。

      IIS7為了兼容老版本,它支持二種模式來(lái)運(yùn)行ASP.NET程序:集成模式,經(jīng)典模式。
      所謂的經(jīng)典模式,其實(shí)就是為了兼容IIS6的模式。下文將著重介紹集成模式,這樣才能體現(xiàn)IIS改進(jìn)的優(yōu)勢(shì)。

      在IIS6中,我們需要配置擴(kuò)展名的映射或者通配符映射,將請(qǐng)求交給一個(gè)ISAPI篩選器,然后由它再交給ASP.NET, 最終由ASP.NET再將請(qǐng)求交給我們的httpHandlers, httpModules。 我們?cè)趙eb.config中配置的httpHandlers, httpModules,對(duì)于IIS6來(lái)說(shuō)是不可見(jiàn)的,所以,只能再次到IIS中配置。

      從IIS7開(kāi)始,IIS支持以一種稱為【集成模式】的方式運(yùn)行ASP.NET程序,此時(shí),IIS能直接將請(qǐng)求交給ASP.NET的httpHandlers和httpModules, 而且還可以直接從web.config中直接讀取配置,因此,只要我們把web.config準(zhǔn)備好,配置任務(wù)就非常簡(jiǎn)單了。

      由于這個(gè)緣故,我在后來(lái)提供的示例中,在web.config中已增加對(duì)IIS7的支持。
      以下就是二個(gè)示例項(xiàng)目所需的IIS7的配置部分。

      FishWebLib DEMO只需要下面的配置就可以了:

      MyMVC DEMO所需的配置如下:

      以上這些配置會(huì)反映在IIS7.5的哪些地方看到呢?
      請(qǐng)看下圖:

      在這個(gè)【處理器映射】列表中,前三個(gè)不正是我在web.config中的配置嘛。

      前面還有一塊fileExtensions的配置又是做什么的呢?
      請(qǐng)看下圖:

      對(duì)于FishWebLib DEMO來(lái)說(shuō),它使用了 cs, ascx 這樣的擴(kuò)展名, 而且這二個(gè)擴(kuò)展名按照默認(rèn)的配置是禁止訪問(wèn)的,所以在那個(gè)示例中,這段配置的用途是將這二個(gè)擴(kuò)展名變成允許訪問(wèn)。

      我在使用Windows7的IIS7.5時(shí),還發(fā)現(xiàn)一個(gè)與IIS6不同的地方,它會(huì)默認(rèn)為每個(gè)網(wǎng)站創(chuàng)建一個(gè)獨(dú)立的應(yīng)用程序池,而且運(yùn)行帳號(hào)也不是NETWORK SERVICE, 不過(guò),我們可以容易地在【應(yīng)用程序池】的屬性中去修改它。

      小結(jié):
      在IIS7.5中部署ASP.NET網(wǎng)站是件容易的事,前提是:事先準(zhǔn)備好web.config中的system.webServer配置節(jié)。
      然后只需要?jiǎng)?chuàng)建在IIS中創(chuàng)建一個(gè)網(wǎng)站,并指向程序目錄即可。
      注意:如果程序需要訪問(wèn)本地文件或者數(shù)據(jù)庫(kù),那么還需要設(shè)置文件系統(tǒng)或者數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限,具體可參考前面相關(guān)小節(jié)。

      80端口和域名

      在前面的演示中,為了簡(jiǎn)單,選擇了25678這個(gè)端口,那是因?yàn)?0端口已被使用。 這樣做實(shí)際上不影響網(wǎng)站的運(yùn)行,不過(guò),URL看起來(lái)就不美觀了。 通常HTTP默認(rèn)是使用80端口,如果使用這個(gè)端口,那么URL中就不會(huì)出現(xiàn)端口號(hào)了。 為了讓URL地址看起來(lái)更美觀,按下來(lái)我將演示如何使用80端口。

      在IIS中,為了能讓一個(gè)網(wǎng)站程序運(yùn)行在80號(hào)端口中,有2個(gè)辦法:
      1. 為網(wǎng)站程序使用其它的IP地址的80端口。
      2. 為網(wǎng)站指定域名綁定。

      我們可以在網(wǎng)卡的配置中新增一個(gè)IP地址(如果已經(jīng)有多個(gè)IP就不用這樣做了):

      然后在IIS中,為網(wǎng)站設(shè)置【綁定】,使用這個(gè)IP地址了。請(qǐng)參考下圖:

      除了使用新IP地址的方式外,我們還可以使用域名的方式讓網(wǎng)站可以在80端口下面運(yùn)行。
      方法還是在IIS中設(shè)置網(wǎng)站的【綁定】操作,給網(wǎng)站指定一個(gè)域名即可:

      最終的設(shè)置應(yīng)該是下面這個(gè)樣子的:

      此時(shí)我們就可以使用下面二種方式來(lái)訪問(wèn)我的示例網(wǎng)站了:
      http://192.168.0.222
      http://www.mymvc-demo.com

      不過(guò)這里又有個(gè)新問(wèn)題:域名從哪里來(lái)?

      答案有二個(gè)(對(duì)于演示來(lái)說(shuō)):
      1. 修改 C:\Windows\System32\drivers\etc\hosts 文件,
        增加一個(gè)映射條目:127.0.0.1 www.mymvc-demo.com 即可。
      2. 如果您使用的是Windows Server的操作系統(tǒng),也可以自己給自己分配域名,請(qǐng)繼續(xù)閱讀。

      在Windows Server的操作系統(tǒng)中,我們可以使用DNS服務(wù)創(chuàng)建自己的域名,大致的過(guò)程是:
      1. 創(chuàng)建一個(gè)反向查找區(qū)域。
      2. 創(chuàng)建一個(gè)正向查找區(qū)域。
      3. 在正向查找區(qū)域新建一個(gè)WWW的主機(jī)。
      4. 在IIS中為網(wǎng)站設(shè)置綁定,指向新的域名。
      5. 設(shè)置網(wǎng)卡的DNS服務(wù)器地址,指向有DNS服務(wù)的機(jī)器。
      這種方式或許對(duì)于單臺(tái)機(jī)器來(lái)說(shuō),比直接修改host文件要麻煩,但如果是在局域網(wǎng)內(nèi)部使用將會(huì)非常方便。

      DNS配置的相關(guān)過(guò)程如下:(向?qū)е袥](méi)有貼圖的步驟可以直接確定)

      現(xiàn)在我們就可以使用域名的方式來(lái)瀏覽我的示例了:

      posted on 2012-02-26 20:20  Fish Li  閱讀(102306)  評(píng)論(91)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲国产中文字幕在线视频综合| 国产精品v片在线观看不卡| 九九久久人妻一区精品色| 亚洲中文字幕精品第三区| 一本色道国产在线观看二区| 国产不卡一区二区精品| 日韩在线视频一区二区三区| 暖暖视频日本在线观看| 国产久免费热视频在线观看| 国产成人精品中文字幕| 国产va在线观看免费| 亚洲av熟女国产一二三| 日韩精品人妻中文字幕| 无码国产精品一区二区免费虚拟vr| 国产裸体无遮挡免费精品| 五月丁香啪啪| 久久人妻av无码中文专区| 热久在线免费观看视频 | 99久久国产精品无码| 亚洲区福利视频免费看| 2020精品自拍视频曝光| 国产一级老熟女自拍视频| 国产香蕉97碰碰久久人人| 国产精品国产三级国av| 亚洲精品综合网二三区| 松潘县| 99久久精品久久久久久婷婷| 青春草公开在线视频日韩| 国产成人精品一区二区秒拍1o | 国产三级视频网站| 国产日韩综合av在线| 人妻少妇精品视频专区| 国产精品天天看天天狠| 亚洲国产成人不卡高清麻豆| 亚洲制服无码一区二区三区 | 中文无码妇乱子伦视频| 高清无码爆乳潮喷在线观看| 99久久夜色精品国产亚洲| 久久久久久曰本av免费免费| 国产精品色三级在线观看| 在线播放国产精品亚洲|