ASP.NET程序發(fā)布詳細(xì)過程
前言
ASP.NET網(wǎng)站的發(fā)布,無論是初學(xué)者還是高手,在程序的發(fā)布過程中或多或少會存在一些問題,譬如VS發(fā)布ASP.NET程序失敗、IIS安裝失敗、IIS發(fā)布失敗、局域網(wǎng)內(nèi)不能訪、
配置文件錯誤、權(quán)限不足等一系列問題,結(jié)合我?guī)ьI(lǐng)的500多人的技術(shù)團(tuán)隊反應(yīng)的各種問題,我今天花點時間總結(jié)一下,方便大家,共同學(xué)習(xí),共同進(jìn)步。
為了后文的深入詳細(xì)分析,我寫了一個小Demo,代碼附上。本次基于VS2013,OS為WIN10,IIS7等環(huán)境講解。(其他操作系統(tǒng)如WIN7原理也類似,但有細(xì)微差別)
1、解決方案整體概覽
2、前端
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sessionDemo.aspx.cs" Inherits="Test.sessionDemo" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <div><asp:Button ID="btnSesison" runat="server" Text="Session" OnClick="btnSesison_Click" /></div> </div> </form> </body> </html>
3、后端
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections; namespace Test { public partial class sessionDemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnSesison_Click(object sender, EventArgs e) { //Session["a"] = "a"; //Session["b"] = "b"; //Response.Write(Session["a"].ToString()); //Response.Write(Session["b"].ToString()); string[] strSession = { "王文佳", "趙武", "楊雄", "熊熊" }; createSession(strSession); getSession(); } #region 自定義方法 //創(chuàng)建Session public void createSession(string[] arrStr) { //創(chuàng)建數(shù)組 string[] str=new string[arrStr.Length]; for (int i = 0; i < arrStr.Length; i++) { str[i] = i.ToString(); Session[str[i]] = arrStr[i]; } } //遍歷Session public void getSession() { IEnumerator sessionEnum = Session.Keys.GetEnumerator(); while (sessionEnum.MoveNext()) { Response.Write(Session[sessionEnum.Current.ToString()].ToString()+";"); } } //清空Session,但不結(jié)束會話 public void clearSession() { Session.Clear(); } //結(jié)束Session會話 public void abandonSession() { Session.Abandon(); } #endregion } }
4、測試結(jié)果
一、ASP.NET程序發(fā)布
1、用VS2013打開解決方案。
2、選中解決方案,點擊鼠標(biāo)“右鍵”—>從彈出對話框中,選擇“清理解決方案”。
3、待第2步“清理解決方案”結(jié)束后,選中“解決方案”—>點擊鼠標(biāo)“右鍵”—>在彈出對話框中,選擇“重新生成解決方案”。
4、待第3步“重新生成解決方案”結(jié)束后,選擇web運(yùn)用程序,如下圖中“testDemo”—>點擊鼠標(biāo)“右鍵”—>在彈出對話框中,選擇“發(fā)布”。
5、設(shè)置“配置文件”節(jié)點,點擊“下一步”。
6、設(shè)置“連接”節(jié)點,點擊“下一步”。
7、設(shè)置“設(shè)置”節(jié)點,點擊“下一步”。
8、設(shè)置“預(yù)覽”節(jié)點,點擊“發(fā)布”。
9、發(fā)布后的文件如下圖,此時文件發(fā)布成功,發(fā)布成功后,點開文件夾,所有頁面的.cs文件都放進(jìn)bin里面了。
二、IIS安裝
1、打開“控制面板”—>選擇“程序”。
2、在彈出對話框中選擇“啟用或關(guān)閉Windows功能”。
3、在彈出對話框中,選擇“Internet Information Services”(如果初學(xué)者,建議全部選擇,對于老手,按需選擇),點擊“確定”。
4、點擊確定后,系統(tǒng)正在運(yùn)用所做的更改。
5、運(yùn)用程序更改結(jié)束后,選擇“立即重新啟動”。系統(tǒng)重新啟動后,則IIS配置結(jié)束。
6、重啟電腦后,測試IIS配置是否成功。在瀏覽器欄,輸入“http://localhost”,若出現(xiàn)如下界面,則表示IIS安裝成功。
三、IIS發(fā)布網(wǎng)站
1、在“我是Cortana,小娜,有問題盡量問我”輸入框輸入“Internet Information Services”.
2、打開IIS主界面。
3、選擇“網(wǎng)站”—>點擊鼠標(biāo)“右鍵”,在彈出對話框中,選擇“添加網(wǎng)站”。
4、在彈出對話框中,設(shè)置相關(guān)參數(shù)。
5、此時,IIS主界面,“網(wǎng)站”多了一個站點“www.testWebSite”,即是剛才給站點取得名字。
6、配置運(yùn)用程序池
7、配置默認(rèn)文檔
8、默認(rèn)文檔添加成功后,如下圖所示:
9、為了防止權(quán)限不足,將剛才發(fā)布的文件添加成員“everyone”,并賦予權(quán)限。右鍵—>屬性—>安全—>編輯—>添加
—>輸入“everyone”—>為用戶everyone賦權(quán)限—>確定。
10、注冊IIS。在所用程序中找到大寫V,選擇“Visual Studio 2013”—>選擇“Visual Studio Tools”—>以管理員身份選擇“VS2013 開發(fā)人員命令提示”,進(jìn)入CMD。輸入"aspnet_regiis -i"。
11、至此,整個發(fā)布結(jié)束。
12、測試。在瀏覽器地址欄輸入:”http://localhost:8090/sessionDemo.aspx“,訪問。
13、至此,IIS發(fā)布網(wǎng)站整過過程結(jié)束。
四、配置IIS應(yīng)注意事項
1、注冊IIS問題
在所用程序中找到大寫V,選擇“Visual Studio 2013”—>選擇“Visual Studio Tools”—>以管理員身份選擇“VS2013 開發(fā)人員命令提示”,進(jìn)入CMD。輸入"aspnet_regiis -i"。
2、權(quán)限不足問題
點擊要VS已發(fā)布文件,右鍵—>屬性—>安全—>編輯—>添加—>輸入“everyone”—>為用戶everyone賦權(quán)限—>確定。
3、防火墻問題
局域網(wǎng)內(nèi)訪問不了,大部分因為防火墻問題,若直接關(guān)閉防火墻,則不安全,提倡以下解決方法。
HTTP服務(wù)默認(rèn)實用80端口,只需要在防火墻(特別注意系統(tǒng)自帶的防火墻)中啟用HTTP服務(wù)(80端口)就可以;如果使用其它的防火墻,也需要進(jìn)行類似的操作。
a、開始—>所有程序—>管理工具—>高級安全 Windows 防火墻—>在高級安全 Windows 防火墻的左邊欄;選擇“入站規(guī)則”—>在右邊欄選擇"新建規(guī)則“—>在彈出
的窗口依次選擇:選中端口—>下一步—>選中TCP以及特定本地端口填入要開放的端口號(這里填入80;當(dāng)讓也可以選擇開放所有端口
下一步—>選中允許連接—>下一步—>選中所有選項—>下一步—>填入名稱(這里填入IIS)。
4、檢測IIS是否安裝成功
在瀏覽器網(wǎng)址中輸入:http://localhost ,若出現(xiàn)如下界面,則表示安裝成功。
5、端口問題
http默認(rèn)端口為:80,IIS發(fā)布時,選擇其他端口。
6、運(yùn)用程序池,應(yīng)選擇與網(wǎng)站名稱相同,選擇集成方式(當(dāng)都發(fā)布不成功時,可以經(jīng)典與繼承來回切換測試),選擇版本V4。
7、VS發(fā)布時,選擇Release版本,而不是Debug版本,切CPU選擇 any CPU。
8、除以上問題外,還有其他問題,我會逐漸更新。
感謝您的閱讀,若有不足之處,歡迎指教,共同學(xué)習(xí)、共同進(jìn)步。
謝謝博主的分享。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 關(guān)于有些Asp.net項目發(fā)布后出現(xiàn)網(wǎng)址亂碼的解決方法
- asp.net程序在調(diào)式和發(fā)布之間圖片路徑問題的解決方法
- 解決asp.net Sharepoint無法連接發(fā)布自定義字符串處理程序,不能進(jìn)行輸出緩存處理的方法
- ASP.NET網(wǎng)站的創(chuàng)建與發(fā)布過程簡析
- ASP.NET筆記之文章發(fā)布管理小系統(tǒng)案例
- 解讀ASP.NET 5 & MVC6系列教程(3):項目發(fā)布與部署
- ASP.NET MVC3網(wǎng)站創(chuàng)建與發(fā)布(1)
- 使用基于Node.js的構(gòu)建工具Grunt來發(fā)布ASP.NET MVC項目
- Asp.net Core 初探(發(fā)布和部署Linux)
- 詳解Asp.Net Core 發(fā)布和部署( MacOS + Linux + Nginx )
相關(guān)文章
ASP.NET2.0中數(shù)據(jù)源控件之異步數(shù)據(jù)訪問
ASP.NET2.0中數(shù)據(jù)源控件之異步數(shù)據(jù)訪問...2006-09-09Web.config 和 App.config 的區(qū)別分析
Web.config 和 App.config 的區(qū)別分析,需要的朋友可以參考一下2013-05-05.NET?CPU爆高事故事故分析某供應(yīng)鏈WEB網(wǎng)站
這篇文章主要為大家介紹了.NET?CPU爆高事故事故分析某供應(yīng)鏈WEB網(wǎng)站,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06asp.net通過js實現(xiàn)Cookie創(chuàng)建以及清除Cookie數(shù)組的代碼
asp.net Cookie創(chuàng)建以及清除Cookie數(shù)組2010-03-03ASP.NET MVC DropDownList數(shù)據(jù)綁定及使用詳解
DropDownList 控件用于創(chuàng)建下拉列表。DropDownList 控件中的每個可選項都是由 ListItem 元素定義的!該控件支持?jǐn)?shù)據(jù)綁定2012-12-12