歡迎光臨
每天分享高質量文章

淺談ASP.NET 程式發佈過程

作者:Alan_beijing

鏈接:https://www.cnblogs.com/wangjiming/p/6286045.html

概述

ASP.NET網站的發佈,無論是初學者還是高手,在程式的發佈過程中或多或少會存在一些問題,譬如VS發佈ASP.NET程式失敗、IIS安裝失敗、IIS發佈失敗、局域網內不能訪、

配置檔案錯誤、權限不足等一系列問題,結合我帶領的500多人的技術團隊反應的各種問題,我今天花點時間總結一下,方便大家,共同學習,共同進步。


為了後文的深入詳細分析,我寫了一個小Demo,代碼附上。本次基於VS2013,OS為WIN10,IIS7等環境講解。(其他操作系統如WIN7原理也類似,但有細微差別


1、解決方案整體概覽


2、前端

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sessionDemo.aspx.cs" Inherits="Test.sessionDemo" %>

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 自定義方法
        //創建Session
        public void createSession(string[] arrStr)
        
{
            //創建陣列
            string[] str=new string[arrStr.Length];
            for (int i = 0; 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,但不結束會話
        public void clearSession()
        
{
            Session.Clear();
        }
        //結束Session會話
        public void abandonSession()
        
{
            Session.Abandon();
        }
        #endregion
    }
}


4、測試結果

一、ASP.NET程式發佈

1、用VS2013打開解決方案。

  


2、選中解決方案,點擊滑鼠“右鍵”—>從彈出對話框中,選擇“清理解決方案”。


3、待第2步“清理解決方案”結束後,選中“解決方案”—>點擊滑鼠“右鍵”—>在彈出對話框中,選擇“重新生成解決方案”。

4、待第3步“重新生成解決方案”結束後,選擇web運用程式,如下圖中“testDemo”—>點擊滑鼠“右鍵”—>在彈出對話框中,選擇“發佈”。


5、設置“配置檔案”節點,點擊“下一步”。


6、設置“連接”節點,點擊“下一步”。


7、設置“設置”節點,點擊“下一步”。


8、設置“預覽”節點,點擊“發佈”。


9、發佈後的檔案如下圖,此時檔案發佈成功,發佈成功後,點開檔案夾,所有頁面的.cs檔案都放進bin裡面了。 

二、IIS安裝

1、打開“控制面板”—>選擇“程式”。


2、在彈出對話框中選擇“啟用或關閉Windows功能”。


3、在彈出對話框中,選擇“Internet Information Services”(如果初學者,建議全部選擇,對於老手,按需選擇),點擊“確定”。


4、點擊確定後,系統正在運用所做的更改。


5、運用程式更改結束後,選擇“立即重新啟動”。系統重新啟動後,則IIS配置結束。

6、重啟電腦後,測試IIS配置是否成功。在瀏覽器欄,輸入“http://localhost”,若出現如下界面,則表示IIS安裝成功。

三、IIS發佈網站

1、在“我是Cortana,小娜,有問題儘量問我”輸入框輸入“Internet Information Services”.


2、打開IIS主界面。


3、選擇“網站”—>點擊滑鼠“右鍵”,在彈出對話框中,選擇“添加網站”。


4、在彈出對話框中,設置相關引數。


5、此時,IIS主界面,“網站”多了一個站點“www.testWebSite”,即是剛纔給站點取得名字。


6、配置運用程式池


7、配置預設文件


8、預設文件添加成功後,如下圖所示:


9、為了防止權限不足,將剛纔發佈的檔案添加成員“everyone”,並賦予權限。右鍵—>屬性—>安全—>編輯—>添加—>輸入“everyone”—>為用戶everyone賦權限—>確定。


10、註冊IIS。在所用程式中找到大寫V,選擇“Visual Studio 2013”—>選擇“Visual Studio Tools”—>以管理員身份選擇“VS2013 開發人員命令提示”,進入CMD。輸入”aspnet_regiis -i”。


11、至此,整個發佈結束。

12、測試。在瀏覽器地址欄輸入:http://localhost:8090/sessionDemo.aspx“,訪問。


13、至此,IIS發佈網站整過過程結束。

四、配置IIS應註意事項

1、註冊IIS問題


在所用程式中找到大寫V,選擇“Visual Studio 2013”—>選擇“Visual Studio Tools”—>以管理員身份選擇“VS2013 開發人員命令提示”,進入CMD。輸入”aspnet_regiis -i”。


2、權限不足問題


點擊要VS已發佈檔案,右鍵—>屬性—>安全—>編輯—>添加—>輸入“everyone”—>為用戶everyone賦權限—>確定。


3、防火牆問題


局域網內訪問不了,大部分因為防火牆問題,若直接關閉防火牆,則不安全,提倡以下解決方法。

HTTP服務預設實用80端口,只需要在防火牆(特別註意系統自帶的防火牆)中啟用HTTP服務(80端口)就可以;如果使用其它的防火牆,也需要進行類似的操作。


a、開始—>所有程式—>管理工具—>高級安全 Windows 防火牆—>在高級安全 Windows 防火牆的左邊欄;選擇“入站規則”—>在右邊欄選擇”新建規則“—>在彈出

的視窗依次選擇:選中端口—>下一步—>選中TCP以及特定本地端口填入要開放的端口號(這裡填入80;當讓也可以選擇開放所有端口下一步—> 選中允許連接—>下一步—>選中所有選項—>下一步—>填入名稱(這裡填入IIS)。


4、檢測IIS是否安裝成功


在瀏覽器網址中輸入:http://localhost ,若出現如下界面,則表示安裝成功。


5、端口問題


http預設端口為:80,IIS發佈時,選擇其他端口。


6、運用程式池,應選擇與網站名稱相同,選擇集成方式(當都發佈不成功時,可以經典與繼承來回切換測試),選擇版本V4。


7、VS發佈時,選擇Release版本,而不是Debug版本,切CPU選擇 any CPU。


8、除以上問題外,還有其他問題,我會逐漸更新。


編號225,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

資料庫開發

更多推薦25個技術類微信公眾號

涵蓋:程式人生、演算法與資料結構、黑客技術與網絡安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

赞(0)

分享創造快樂