由於生成Web應用程序的文件非常大,100M左右,上傳到香港太慢,對於運維工作很不現實, 所以只能改用單個源代碼文件上傳方式,也就是Web網站方式,但VS2010中只提供Web網站轉Web應用程序功能,沒有提供Web應用程序轉網站功能,而且新建WebSite(網站) 只能使用 Single-Page Code 模型來開發網站頁面,原Web應用程序全部都是用CodeBehide開發的,如何把WebSite(網站) 使用CodeBehide 方式開發,是個重要問題。經多天研究,終於找到了Web應用程序項目轉Web網站的方法。
步驟1:
WebApp(網站應用程序) 工程(右鍵)-->打包/發布設置-->要部署的項(適用於所有部署方法)-->此項目文件夾中的所有文件。
步驟2:
WebApp(網站應用程序) 工程(右鍵)-->發布-->發布方式(文件系統)-->發布
步驟3:
在方案中添加現有網站為發布后的文件夾。
步驟4:
批量修改頁面 CodeBehind -> CodeFile,
如:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="OrderAjax.aspx.cs" Inherits="LinqToOracleWeb.OrderAjax" %>
改為
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeFile="OrderAjax.aspx.cs" Inherits="LinqToOracleWeb.OrderAjax" %>
步驟5: 修改 Global.asax 文件改為
1 <%@ Application Language="C#" %> 2 <%@ Import Namespace="System.Collections.Generic" %> 3 <script RunAt="server"> 4 //private System.Threading.Timer EmailTimer; 5 6 void Application_Start(object sender, EventArgs e) 7 { 8 // 在應用程序啟動時運行的代碼 9 } 10 11 void Application_End(object sender, EventArgs e) 12 { 13 // 在應用程序關閉時運行的代碼 14 } 15 16 void Application_Error(object sender, EventArgs e) 17 { 18 // 在出現未處理的錯誤時運行的代碼 19 } 20 21 void Session_Start(object sender, EventArgs e) 22 { 23 // 在新會話啟動時運行的代碼 24 } 25 26 void Session_End(object sender, EventArgs e) 27 { 28 } 29 </script>
現不需要Global.cs文件
步驟6: 並刪除所有文件的命名空間,如:
namespace WebApp {
}
成功。 原創文章,轉載請注明出處~http://www.cnblogs.com/fiozhao/p/VS2010_WebSite_CodeBehide.html