部署网站往往是一件麻烦事,因为在安装部署的过程中,经常有许多步骤要运行,对于许多不太熟悉IIS/SQL的新手来说,部署网站编程一件非常困难且危险的事。Visual Studio 2012在ASP.NET网站部署方面提升了不少能力,有助于让你将现有网站快速且简便地发布到远程的IIS服务器上,而免除了许多繁杂的设置程序。

一、如何部署到本机的IIS

要部署到本机的IIS,首要动作必须是先在本机安装IIS功能,若要运行ASP.NET MVC 4,则还必须安装.NET Framework4.0以上版本。

1. 安装IIS功能

如果你用的是Windows 7或Windows 8操作系统,可以通过“控制面板”中的“开启或关闭Windows功能”进行安装,选中“Internet信息服务”选项,以及“应用程序开发功能”选项中的ASP.NET。

从Windows7的“开启或关闭Windows功能”安装ASP.NET只会安装.NET3.5 SP1,若要运行ASP.NET MVC4.0网站,则必须安装.NET Framework4.0以上版本。

2.  “Web一键式发布”功能的使用

VS2012提供了“Web一键式发布”工具栏,只要创建“发布设置”之后,即可用“单键”将网站安装或更新完成,非常神奇且好用。

在VS2012的工具栏上单击鼠标右键,在弹出的快捷菜单中选择“Web一键式发布”命令即可开启“Web一键式发布”工具栏,如下图。

开启“Web一键式发布”工具栏后,就新增一个新的发布设置,如下图。

VS2012的“Web一键式发布”功能支持多种发布方法,其中包括Web Deploy、Web Deploy包、FTP、文件系统与常规的FPSE(FrontPage Server Extension)等,如下图所示。

要安装网站到本机IIS,使用Web Deploy是最有效率的方法,具体设置如下图。

如果VS运行在UAC(用户账户控制)状态下,在验证连接时,就会发生NEED ELEVATED TO RUN MSDEPLOY的警告消息。这时可关掉VS,“以管理员身份运行”的方式重新启动VS,这样的权限才能发布网站到本机的IIS上。

接着单击“下一步”按钮继续设置其他参数,如下图。

通常有规律的管理团队,都会设置多个不同的方案配置,以便切换“开发环境”与“正式环境”的设置。在“设置”界面中,可以指定“配置”选项。如果指定Release配置,即便当前选择的是Debug配置,VS也会帮你自动切换到Release配置并编译整个网站,最后再将这个编译好的网站发布到远程的IIS中,网站部署的流程被自动化,相应的发生错误的机会就降低了。

在“配置”设置中,还有个“删除目标上的附加文件”选项。在发布网站之前,会先移除IIS站点目录中的所有文档,然后才发布更新文档。

因为开发环境的数据库连接参数与正式环境的数据库连接参数往往不太一样,因此可以在“配置”中的设置数据库。可以勾选“在运行时使用此连接字符串(更新目标web.config)”选项,用这里指定的连接字符串,修改Web.config配置文件内的数据库连接字符串。

接着单击“下一步”按钮进入“预览”设置界面,如下图。

“预览”功能可以将这次要发布到IIS站点的所有文档列出来,并且明确告知你这次发布的动作会有多少文档被新增、删除或更新,如下图。

如果遇到“预览失败”错误,可能是由于IIS的应用程序池中,默认网站的.NET Framework版本不对,将2.0修改为4.0,如下图。

最后单击“发布”按钮,这些准备发布的文档就会成功地部署到IIS里。

上述发布设置虽然感觉有些复杂(跟以前相比已经简单很多),但你只需设置一次,当日后在项目中有任何文档被新增、删除或更新时,只要在“Web一键式发布”工具栏上单击“发布Web”按钮,如下图,网站所有的异动就会自动发布到IIS上,非常方便且直观。

如果发生错误处理程序“ExtensionlessUrlHandler-Integrated-4.0”,可能是需要用aspnet_regiis注册4.0框架,然后用4.0的Class池,就可以运行4.0的web项目了。以管理员方式启动“VS2012开发人员命令提示”,具体操作如下图。

最后就可以用http://localhost/App1或http://192.168.1.101/App1网址,浏览该网站了。

如果没有安装sql server 2012,直接运行带有local db数据库的网站会出错。解决方法是将该数据库部署到本机的数据库上(如sql server 2008)。数据库生成脚本,可使用迁移命令,update-database –Script –SourceMigration:$InitialDatabase  -TargetMigration:Initial。

如果出现“用户 'IIS APPPOOL\DefaultAppPool' 登录失败”错误,可将IIS中Default Web Site应用程序池的高级设置à进程模型à标识,修改为Local System。

MVC-06 安装部署的更多相关文章

  1. 指导手册06:HBase安装部署

    指导手册06:HBase安装部署 配置环境 1.参考文件: https://www.cnblogs.com/lzxlfly/p/7221890.html https://www.cnblogs.com ...

  2. 第06讲:Flink 集群安装部署和 HA 配置

    Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...

  3. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  4. 最新版CentOS6.5上安装部署ASP.NET MVC4和WebApi

    最新版CentOS6.5上安装部署ASP.NET MVC4和WebApi 使用Jexus5.8.1独立版 http://www.linuxdot.net/ ps:该“独立版”支持64位的CentOS ...

  5. Greenplum 数据库安装部署(生产环境)

    Greenplum 数据库安装部署(生产环境) 硬件配置: 16 台 IBM X3650, 节点配置:CPU 2 * 8core,内存 128GB,硬盘 16 * 900GB,万兆网卡. 万兆交换机. ...

  6. Linux系统批量化安装部署之Cobbler

    说明: Cobbler服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统: eth0(第一块网卡,用于外网)IP地址段:192.168.2 ...

  7. Ubuntu 16.04+.Net Core+Docker+Uginx安装部署

    前言 最近公司的项目打算移植到.Net Core平台,所以调研了一下.Net Core在Linux下的安装部署.本篇文章会一步步的描述从安装到配置到部署的全部过程.在文章的结构和内容里,笔者借鉴了很多 ...

  8. Linux下安装部署Samba共享盘的操作手册

    简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的 ...

  9. Ansible安装部署以及常用模块详解

    一.  Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...

随机推荐

  1. 使用Swift的代理,闭包来封装一个公用协议减少垃圾代码

    iOS开发中,如果不进行适当的封装,使用协议或者继承类来进行开发,你就会遇到传说中的ViewController(以后简称VC) Hell的问题…… 比如说,我们先声网App中为了调用接口,做简单的判 ...

  2. CAD二次开发(.NET)之PaletteSet和Palette

    在CAD中经常用到停靠或浮动的PaletteSet,比如:特性.图层特性管理器.工具选项板等(以下截图来自AutoCAD2010界面). 特性PaletteSet(停靠) 图层特性管理器Palette ...

  3. 如何利用Github Pages展示自己写的项目

    接触github很久了,自己搭建过hexo博客,但是对于web项目托管github pages感觉很懵,所以在此总结分享给有需要的亲们. 教程开始: 1.创建一个新库 2.给库命名 3.创建新库后点击 ...

  4. HTTP错误500.22 检测到在集成的托管管道模式下不适用的ASP.NET设置

    这里主要把集成模式改成经典模式 解决方案一: 解决方案二: 修改配置文件web.config 将 <configuration> <system.web> <compil ...

  5. 菜鸟初试水--JQuery基础

    此文仅作入门级文章,望大神们高抬贵手! JQuery: 它是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作. JQuery的用途: ①访问和操作DOM元素: 使用j ...

  6. BZOJ 1812: [Ioi2005]riv( 树形dp )

    树背包, 左儿子右兄弟来表示树, dp(x, y, z)表示结点x, x的子树及x的部分兄弟共建y个伐木场, 离x最近的伐木场是z时的最小代价. 时间复杂度O(N^2*K^2) ----------- ...

  7. poj 2688 Cleaning Robot bfs+dfs

    题目链接 首先bfs, 求出两两之间的距离, 然后dfs就可以. #include <iostream> #include <cstdio> #include <algo ...

  8. python爬虫数据抓取方法汇总

    概要:利用python进行web数据抓取方法和实现. 1.python进行网页数据抓取有两种方式:一种是直接依据url链接来拼接使用get方法得到内容,一种是构建post请求改变对应参数来获得web返 ...

  9. zoj 3171 The Hidden 7's

    这道题,我在网上看到两种dp,不过基本原理是一样的,不过感觉还是后面的一种比较巧妙!因为我对动态不是很熟,自能加上一些自己的理解,写上注释. 1) #include <stdio.h> # ...

  10. Nancy之实现API

    Nancy之实现API的功能 0x01.前言 现阶段,用来实现API的可能大部分用的是ASP.NET Web API或者是ASP.NET MVC,毕竟是微软官方出产的,用的人也多. 但是呢,Nancy ...