技术标签: Web开发
转载链接: http://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" %> <!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 = 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,但不结束会话 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。
原文链接感谢大佬哦~不希望转载联系我马上删除,这里只是自己记录下方法原因所在: Windows 10 系统中,为了加速图标的显示,当第一次对图标进行显示时,系统会对文件或程序的图标进行缓存。之后,当我们再次显示该图标时,系统会直接从缓存中读取数据,从而大大加快显示速度。也正因为如此,当缓存文件出现问题时,就会引发系统图标显示不正常。既然找到了原因,解决办法也很简单,我们只需要将有问题的图标缓存文件删除掉,让系统重新建立图标缓存即可。解决:1、打开计算机,点击查看,勾选隐藏项目2、进入C:\Use
背景近期系统需求上来迟缓,也腾出了一些时间来梳理沉淀。对系统的代码进行审视,sonar静态检测,消除检测问题。也是还债的过程。回顾过往的坑,有些东西还是要沉淀下来。接下来节听听故事的来龙去脉。一个故事先说说之前印象比较深刻都一个需求,一个踩了很多坑的故事。需求实现一个web端的python代码执行器,能够完成简单的数据分析功能。需求很简单;编程语言使用java,实现一个python的执行器功能。简...
php调用百度翻译api接口示例
java wms erp自动化立体仓库管理系统 进出库 源码 源代码 程序wms是基于自动化输送线、机械臂、点数机、提升机、堆垛机等自动化设备和现代化仓储精益管理思想开发出来的仓库管理系统。 通过对接工厂的EBS(erp中一种)、MES(生产执行系统)、deer-wcs(设备调度系统)等系统接口,实现仓储上下游的数据打通,也是实现完全自动化的基础。软件功能首页待处理单据图形展示.仓库日作业统计图.辅助程序状态.数据对接列表.设备运行监控.仓库建模仓库设置-子库管理-货区设置-货架设置
我们板子参照sabresd设计的。之前使用系统android4.2.2,现在移植官网BSP android4.4.3目前surfaceflinger导致系统启动失败。一直打印如下红色显示的信息。request_suspend_state: wakeup (3->0) at 7437213333 (1970-01-01 00:00:04.592911333 UTC)130|[email protected]
一、前言在上篇博客中我们讲解了cobbler命令的详细使用,并在最后我们详细的讲解了Cobbler安装CentOS5.5全部过程,不清楚的博友可以先参考上一篇博文(http://www.it165.net/os/html/201311/6695.html),在这一篇博客中我们主要和大家总结一下上几篇博客讲解的内容,并详细讲解一下自定义Kickstart文件与Cobbler相关目录的说明,最后以
本文介绍了前端实际工作中用到的大部分内容及其相关知识点,大家可以收藏仔细阅读慢慢看~GitGit 常见操作集锦点击查看原图这张思维导图主要包含如何对使用前的做 Git 基础配置.git文件夹下几个文件的浅析工作中 Git 的常用操作如何关联远程仓库如何遵循 Git 提交规范Git 的分支管理规范是什么如何使用 Git 命令重命名文件如何使用 Git 命令删除文件如何修改Git的历史记录如何恢复到历史记录的指定版本如何比较 Git 历史记录 ???? 之间的差异…Git 分
Application对象是JSP的一个内建对象。当服务器启动时,该对象会被自动创建创建,直到服务器关闭该对象才会消失,并且在此期间可以被多个用户共同使用。本列主要使用Application对象的setAttribute()和getAttribute()方法setAttribute()方法:setAttribute(String key,String value)//在Application...
(6) 控制结构(粗略看一下) http://www.tcl.tk/man/tcl8.6/TclLib/NRE.htm#M5 tcl的控制语言结构,如下看一下while循环 while {val > 0} { result *= val ; val -= 1
女:abigale 原为古希伯来名,意思是"最初的欢乐"或"欢乐之本"。在圣经撒母尔记上篇第二十五章中,讲到了一位早期名叫abigale的人的故事。在这个故事之中,她是一位聪明、美丽的女人。她有过人的智慧和谋略。因而,她後来成了以色列大卫王的妻子。 abby,abbie是abigail的简写。人们认为abby是娇小可爱的女人,文静,令人喜爱,个性甜美。 ada (老式英语)"高贵"的意思。为ade
作者:云谦,已获得作者授权转载以下是云谦在 2019.11.15成都全栈大会分享的文字稿,介绍了蚂蚁前端研发的最佳实践,其中提取了三个比较重要的点,每个点都是蚂蚁实践和...
JDBC既制定统一标准兼容了多种数据库,又利用预报告堵上了SQL注入漏洞,照理说已经很完善了,可是人算不如天算,它在性能方面不尽如人意。问题出在数据库连接的管理上,按照正常流程,每次操作完数据库,都要关闭连接,无论是代码里手工关闭,还是由try语句自动关闭。如果没有及时关闭数据库连接,就会长时间占用有限的数据库内存,致使无谓的系统资源浪费。然而频繁开关数据库连接也有毛病,因为每次获取操作都要CPU...