在ASP.NET 2.0 開始,增加了Web Site的專案,這種專案不需要事先compile,非常適合變動性高的企業內部網站,另外一種專案就是.net 1.1使用的Web Application,它必須要事先建置,這裡我們來討論一下這兩種專案:
- Web Site
建立方式: vs--> 新增網站
辨識方式: .cs是用codefile指向, 這類型的專案aspx的檔頭長的如下:
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
程式修改:
cs: codefile後的檔案在執行階段會使用, 因此你修改.cs或是<%%>裡的程式碼, 放到網站下會進行所謂 compiled on the fly(即時編譯)
aspx: 直接修改 - Web Applicaiton
建立方式: vs--> 新增專案,選asp.net web應用程式
辨識方式:用codebehind指向.cs, 而inherite多加了專案"預設命名空間"-WebApplication1, 變成WebApplication1._Default, aspx的檔頭長的如下:
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
程式修改:
cs:這類cs檔執行階段不會使用, CodeBehind標記只是讓asp.net辨識要去bin找dll
因此這類型的專案, 你修改.cs或是<%%>裡的程式碼,必須要事先compile,並把bin下的dll複製到網站上,
部署時, 一般要停掉網站再重開或是回收集區比較保證使用到新dll
apsx:除了<%%>外, server control的參數/html/javascript 都可以直接修改不需compile, 但user要refresh網頁
此外這兩種專案也有相轉換的方式:
- WebSite to Web Application
Converting Visual Studio Website to Web Application Project
http://msdn.microsoft.com/en-us/library/aa983476(v=vs.100).aspx - Web Application to Web Site
- 在VS-開啟網站-打開該Web application
- 該網站儲存一個新方案.
- 刪除所有 "*.designer" 檔.
- 修改檔案檔頭 (包含*.ASCX and *.ASPX), 改網頁前置詞"codebehind" 為 "codefile".
- 更改目錄 "Old_App_Code" 為 "App_Code".
- 完成.
沒有留言:
張貼留言