Web應用程序與Web站點區別
在Visual Studio可以創建 Web 應用程序項目或網站項目。
每種項目類型各有優缺點,要選擇可以滿足需要的最佳項目類型,應了解各項目類型之間的差異。
創建項目之前,必須選擇合適的項目類型,原因是從一種項目類型轉換到另一種項目類型並不可行。
說明:在某些情況下,無法進行選擇。 例如,如果要創建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項目之間的項目依賴項。
-
您希望編譯器為整個站點創建單個程序集。
-
您要控制為站點生成的程序集的名稱和版本號。
-
需要避免將源代碼放置在生產服務器上。
-
需要使用 Visual Studio 中提供的自動化部署工具。
優先選擇Web網站項目的情況包括:
-
可以在單個web項目中包含C#和Visual Basic代碼。
-
需要在 Visual Studio 中打開生產站點和使用 FTP 對其進行實時更新。
-
不希望必須顯式編譯項目才能部署項目。
-
您希望能夠通過僅將新版本復制到生產服務器,或通過在生產服務器上直接編輯文件來更新生產中的各個文件。
-
如果預編譯站點,您希望能夠更新各 ASP.NET 網頁(.aspx文件),而無需重新編譯整個網站。
-
您希望在生產服務器上保留源代碼,以便用作附加備份副本
部署
1、web網站部署,很簡單,直接將源文件復制到iis下網站目錄(或者虛擬目錄)
2、web應用程序部署,參考:VS2012發布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管理軟件中執行(得先創建好數據表)