【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

时间:2022-08-30 09:29:16

ASP.NET MVC系列文章

【01】浅谈Google Chrome浏览器(理论篇)

【02】浅谈Google Chrome浏览器(操作篇)(上)

【03】浅谈Google Chrome浏览器(操作篇)(下)

【04】浅谈ASP.NET框架

【05】浅谈ASP.NET MVC运行过程

【06】浅谈ASP.NET MVC 控制器

【07】浅谈ASP.NET MVC 路由

【08】浅谈ASP.NET MVC 视图

【09】浅谈ASP.NET MVC 视图与控制器传递数据

【10】浅谈jqGrid 在ASP.NET MVC中增删改查

【11】浅谈ASP.NET 页面之间传值的几种方式

【12】浅谈缓存技术在ASP.NET中的运用

【13】浅谈NuGet在VS中的运用

【14】浅谈ASP.NET 程序发布过程

【15】浅谈数据注解和验证

【16】浅谈依赖注入

【17】浅谈表单和HTML辅助方法

【18】浅谈基于APS.NET身份验证

【19】浅谈ASP.NET MVC 模型

【20】浅谈ASP.NET MVC 单元测试

【21】浅谈ASP.NET MVC网络安全;

【22】浅谈ASP.NET MVC八大类扩展

【23】再谈ASP.NET MVC Routing

【24】浅谈ASP.NET 高级话题

【25】浅谈大型ASP.NET MVC项目(含DEMO)

【26】下一系列:ASP.NET WebAPI

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程


概述

ASP.NET网站的发布,无论是初学者还是高手,在程序的发布过程中或多或少会存在一些问题,譬如VS发布ASP.NET程序失败、IIS安装失败、IIS发布失败、局域网内不能访、

配置文件错误、权限不足等一系列问题,结合我带领的500多人的技术团队反应的各种问题,我今天花点时间总结一下,方便大家,共同学习,共同进步。

为了后文的深入详细分析,我写了一个小Demo,代码附上。本次基于VS2013,OS为WIN10,IIS7等环境讲解。(其他操作系统如WIN7原理也类似,但有细微差别)

1、解决方案整体概览

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

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 自定义方法
//创建Session
public void createSession(string[] arrStr)
{
//创建数组
string[] str=new string[arrStr.Length];
for (int i = ; 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,但不结束会话
public void clearSession()
{
Session.Clear();
}
//结束Session会话
public void abandonSession()
{
Session.Abandon();
}
#endregion
}
}

4、测试结果

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

一、ASP.NET程序发布

1、用VS2013打开解决方案。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

2、选中解决方案,点击鼠标“右键”—>从弹出对话框中,选择“清理解决方案”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

3、待第2步“清理解决方案”结束后,选中“解决方案”—>点击鼠标“右键”—>在弹出对话框中,选择“重新生成解决方案”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

4、待第3步“重新生成解决方案”结束后,选择web运用程序,如下图中“testDemo”—>点击鼠标“右键”—>在弹出对话框中,选择“发布”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

5、设置“配置文件”节点,点击“下一步”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

6、设置“连接”节点,点击“下一步”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

7、设置“设置”节点,点击“下一步”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

8、设置“预览”节点,点击“发布”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

9、发布后的文件如下图,此时文件发布成功,发布成功后,点开文件夹,所有页面的.cs文件都放进bin里面了。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

二、IIS安装

1、打开“控制面板”—>选择“程序”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

2、在弹出对话框中选择“启用或关闭Windows功能”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

3、在弹出对话框中,选择“Internet Information Services”(如果初学者,建议全部选择,对于老手,按需选择),点击“确定”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

4、点击确定后,系统正在运用所做的更改。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

5、运用程序更改结束后,选择“立即重新启动”。系统重新启动后,则IIS配置结束。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

6、重启电脑后,测试IIS配置是否成功。在浏览器栏,输入“http://localhost”,若出现如下界面,则表示IIS安装成功。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

三、IIS发布网站

1、在“我是Cortana,小娜,有问题尽量问我”输入框输入“Internet Information Services”.

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

2、打开IIS主界面。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

3、选择“网站”—>点击鼠标“右键”,在弹出对话框中,选择“添加网站”。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

4、在弹出对话框中,设置相关参数。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

5、此时,IIS主界面,“网站”多了一个站点“www.testWebSite”,即是刚才给站点取得名字。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

6、配置运用程序池

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

7、配置默认文档

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

8、默认文档添加成功后,如下图所示:

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

9、为了防止权限不足,将刚才发布的文件添加成员“everyone”,并赋予权限。右键—>属性—>安全—>编辑—>添加

—>输入“everyone”—>为用户everyone赋权限—>确定。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

10、注册IIS。在所用程序中找到大写V,选择“Visual Studio 2013”—>选择“Visual Studio Tools”—>以管理员身份选择“VS2013 开发人员命令提示”,进入CMD。输入"aspnet_regiis -i"。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

11、至此,整个发布结束。

12、测试。在浏览器地址栏输入:”http://localhost:8090/sessionDemo.aspx“,访问。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

13、至此,IIS发布网站整过过程结束。

四、配置IIS应注意事项

1、注册IIS问题

在所用程序中找到大写V,选择“Visual Studio 2013”—>选择“Visual Studio Tools”—>以管理员身份选择“VS2013 开发人员命令提示”,进入CMD。输入"aspnet_regiis -i"。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

2、权限不足问题

点击要VS已发布文件,右键—>属性—>安全—>编辑—>添加—>输入“everyone”—>为用户everyone赋权限—>确定。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

3、防火墙问题

局域网内访问不了,大部分因为防火墙问题,若直接关闭防火墙,则不安全,提倡以下解决方法。

HTTP服务默认实用80端口,只需要在防火墙(特别注意系统自带的防火墙)中启用HTTP服务(80端口)就可以;如果使用其它的防火墙,也需要进行类似的操作。

a、开始—>所有程序—>管理工具—>高级安全 Windows 防火墙—>在高级安全 Windows 防火墙的左边栏;选择“入站规则”—>在右边栏选择"新建规则“—>在弹出

的窗口依次选择:选中端口—>下一步—>选中TCP以及特定本地端口填入要开放的端口号(这里填入80;当让也可以选择开放所有端口
下一步—> 选中允许连接—>下一步—>选中所有选项—>下一步—>填入名称(这里填入IIS)。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

4、检测IIS是否安装成功

在浏览器网址中输入:http://localhost ,若出现如下界面,则表示安装成功。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

5、端口问题

http默认端口为:80,IIS发布时,选择其他端口。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

6、运用程序池,应选择与网站名称相同,选择集成方式(当都发布不成功时,可以经典与继承来回切换测试),选择版本V4。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

7、VS发布时,选择Release版本,而不是Debug版本,切CPU选择 any CPU。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

8、除以上问题外,还有其他问题,我会逐渐更新。

版权区

  • 感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。
  • 博主网址:http://www.cnblogs.com/wangjiming/。
  • 本博客为博主原创。
  • 如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出,邮箱:2098469527@qq.com。
  • 欢迎转载,但必须注明博客来源。

【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程的更多相关文章

  1. 学习ASP&period;NET MVC系列 - 还有比这更简炼的吗?把复杂的事情变简单了,贡献啊!

    转自

  2. 【ASP&period;NET MVC系列】浅谈NuGet在VS中的运用

    一     概述 在我们讲解NuGet前,我们先来看看一个例子. 1.例子: 假设现在开发一套系统,其中前端框架我们选择Bootstrap,由于选择Bootstrap作为前端框架,因此,在项目中,我们 ...

  3. 【ASP&period;NET MVC系列】浅谈表单和HTML辅助方法

    [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...

  4. 【ASP&period;NET MVC系列】浅谈ASP&period;NET MVC八大类扩展&lpar;上篇&rpar;

    lASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操 ...

  5. 【ASP&period;NET MVC系列】浅谈ASP&period;NET 页面之间传值的几种方式

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  6. 【ASP&period;NET MVC系列】浅谈ASP&period;NET MVC运行过程

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  7. 【ASP&period;NET MVC系列】浅谈ASP&period;NET MVC 视图

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  8. 【ASP&period;NET MVC系列】浅谈ASP&period;NET MVC资源过滤和授权

    最近比较忙,博客很久没更新了,很多博友问何时更新博文,因此,今天就花了点时间,写了本篇文章,但愿大家喜欢. 本篇文章不适合初学者,需要对ASP.NET MVC具有一定基础. 本篇文章主要从ASP.NE ...

  9. 【ASP&period;NET MVC系列】浅谈jqGrid 在ASP&period;NET MVC中增删改查

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  10. 【ASP&period;NET MVC系列】浅谈ASP&period;NET MVC 视图与控制器传递数据

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

随机推荐

  1. Maven下java&period;lang&period;NoClassDefFoundError

    本文转载自:http://blog.csdn.net/qqhjqs/article/details/51491516 使用maven管理web项目中jar包之间的依赖,非常的方便好用,但是有时也会出现 ...

  2. 初窥Kaggle竞赛

    初窥Kaggle竞赛 原文地址: https://www.dataquest.io/mission/74/getting-started-with-kaggle 1: Kaggle竞赛 我们接下来将要 ...

  3. 使用tornado和angularjs搭建网站

    从这篇博文开始,将讲述建立一个站点的全过程.一方面自己从未做过这类事情,算是对自己的一个挑战,另一方面也给想要学这个的同胞留点参考,特别是*需要课程设计作业和毕业设计的同志们*. 首先介绍一下网站功能 ...

  4. TL-WR702N 连接有线路由

    2015-12-23日 备忘录: 1. TL-WR702N一定要设置为 route模式,一定选择“动态ip”,而不是“PPPOE” 2.有线路由器 与  TL-WR702N 的IP不能在一个网段: 目 ...

  5. Apache Commons 常用工具类整理

    其实一直都在使用常用工具类,只是从没去整理过,今天空了把一些常用的整理一下吧 怎么使用的一看就明白,另外还有注释,最后的使用pom引入的jar包 public class ApacheCommonsT ...

  6. 【ImageMagick】ImageMagick命令行工具

    [关于ImageMagick] [命令行工具] [源码安装] [二进位发布版本] [资源配置文件] [相关下载] ImageMagick命令行工具 [ convert | identify | mog ...

  7. javascript模式——Mixin

    Mixin是一种扩展收集功能的方式,能提高代码的复用率. 在javascript中,原型可以继承于其它对象的原型,并且可以为任意数量的实例定义属性.可以利用这一点来促进函数的复用. 下面一段代码就是将 ...

  8. Python -- 文档测试

    Python内置的“文档测试”(doctest)模块可以直接提取注释中的代码并执行测试. 例子: # mydict2.py class Dict(dict): ''' Simple dict but ...

  9. Java线程池ThreadPoolExecutor使用和分析&lpar;三&rpar; - 终止线程池原理

    相关文章目录: Java线程池ThreadPoolExecutor使用和分析(一) Java线程池ThreadPoolExecutor使用和分析(二) - execute()原理 Java线程池Thr ...

  10. Python多层目录模块调用

    一. 引用模块在 父+级目录中: 1. 将导入模块所在目录(../model/模块)添加到系统环境变量path下,可添加多个 import syssys.path.append("../mo ...