1. 程式人生 > >Web應用程式與Web網站及部署在IIS中

Web應用程式與Web網站及部署在IIS中

         在Visual Studio可以建立 Web 應用程式專案網站專案通過選擇 新建專案 或 開啟專案 建立或開啟一個 Web 應用程式專案在Visual Studio 檔案 選單。 通過選擇 新建網站 或 開啟網站 建立或開啟一個網站專案在"檔案"選單。

每種專案型別各有優缺點,要選擇可以滿足需要的最佳專案型別,應瞭解各專案型別之間的差異。 建立專案之前,必須選擇合適的專案型別,原因是從一種專案型別轉換到另一種專案型別並不可行。

說明:在某些情況下,無法進行選擇。 例如,因此,如果要建立ASP.NET MVC應用程式,您必須使用 Web 應用程式專案。

web應用程式可能是微軟為了讓程式設計師很好的從winform過渡到web開發而保留了。Web網站就完全要應用到web開發

的。其實兩者之間沒有什麼大的區別,自己從表象總結了一下他們的異同點。 

相同: 
1、都是設計Asp網頁的。

2、都可以新增ASP.Net資料夾(都包括App_Browsers、App_Data、App_GlobalResources、App_LocalResources、App_Themes)。

不同: 
1、web應用程式Default.aspx顯示有兩個原有檔案及Default.aspx.cs和Default.aspx.designer.cs;Web網站
Default.aspx顯示有一個原有檔案Default.aspx.cs。 

2、web應用程式有重新生成和釋出兩項;Web網站只有一個釋出網站。 

3、web應用程式和一般的winform沒有什麼區別都有引用的是名稱空間等;Web網站在引用後出現一個bin資料夾那裡存放dll和pdb檔案。 

4、web應用程式可以作為類庫被引用;Web網站則不可以作為類庫被引用。 

5、web應用程式可以新增ASP.Net資料夾中 不包括bin、App_Code;Web網站可以新增ASP.Net資料夾包括bin、App_Code。 

6、web應用程式還可新增元件和類;Web網站則沒有。 

7、原始檔雖然都是Default.aspx.cs但是web應用程式有名稱空間,多了一項System.Collections空間引用。

方案

優先選擇Web 應用程式專案的情況:

  • 要在多個web專案之間的專案依賴項。

  • 您希望編譯器為整個站點建立單個程式集。

  • 您要控制為站點生成的程式集的名稱和版本號。

  • 需要避免將原始碼放置在生產伺服器上。

  • 需要使用 Visual Studio 中提供的自動化部署工具。

優先選擇Web網站專案的情況包括:

  • 可以在單個web專案中包含C#和Visual Basic程式碼。 

  • 需要在 Visual Studio 中開啟生產站點和使用 FTP 對其進行實時更新。

  • 不希望必須顯式編譯專案才能部署專案。

  • 您希望能夠通過僅將新版本複製到生產伺服器,或通過在生產伺服器上直接編輯檔案來更新生產中的各個檔案。

  • 如果預編譯站點,您希望能夠更新各 ASP.NET 網頁(.aspx檔案),而無需重新編譯整個網站。

  • 您希望在生產伺服器上保留原始碼,以便用作附加備份副本

兩者區別:

部署:

1、web網站部署,很簡單,直接將原始檔複製到iis下網站目錄(或者虛擬目錄)

  釋出WEB應用程式。

 右鍵程式專案-釋出,配置各項


自定義,根據你的專案名稱輸入一個名稱(自動建立配置檔案),下一步,釋出方法:Web Deploy(釋出到測試的IIS計算機), 伺服器:localhost (釋出到測試的IIS計算機,輸入 localhost 或您的計算機的名稱。),站點名稱:IIS中建一個存放目錄(hyweb\hy\Application\power)(輸入IIS網站和應用程式的名稱。)

“下一步”配置選擇“Release” 


在連線字串框中,選擇或輸入指向目標資料庫的連線字串。      

這裡要用 使用者名稱和密碼的方式登入(SQL Server方式),而不能是Integrated Security=True(windows身份驗證)。否者出現


下一步,預覽,釋出。

遇到的問題:  

1、我的資料庫是在vs2012中直接建立的,而本地SQL是2008版的,在將vs中建立的資料庫檔案附加到本地sql中時會發生錯誤


原因:706的版本是SQL2012的,用SQL2008附件不了的
解決辦法:
在vs中開啟資料庫,匯出其sql指令碼,用記事本開啟,複製在sql管理軟體中執行(得先建立好資料表)
2、釋出好後,瀏覽時有些圖片和css不顯示。
原因是:這裡的圖片放在CSS中顯示出來,background:url(/image/1.jpg)
解決方案:將圖片是顯示移出CSS,放在html中:<img src ="image/1.jpg" />。這樣就能正常顯示