转:http://www.cnblogs.com/piyeyong/archive/2012/08/15/2640004.html

在网上找到一个table,列举了不同的操作系统对应的IIS版本以及配置MVC时的说明。

IIS version

Windows version

Remarks

IIS 7.0 (integrated mode)

Windows Server 2008

Windows Vista (except Home Basic)

No special configuration required

IIS 7.0 (classic mode)

Windows Server 2008

Windows Vista (except Home Basic)

Special configuration required to use URL routing

IIS 6.0

Windows Server 2003

Special configuration required to use URL routing

IIS 5.1

Windows XP Professional

Special configuration required to use URL routing

IIS 5.0

Windows 2000

Special configuration required to use URL routing

从表中可以总结出:

1.IIS7.0之前的版本,需要特殊配置,因为现有IIS,后来才开发的MVC模块

2.IIS7.0的classic mode,适合之前的版本兼容的,需要特殊配置

3.补充: Windows 7 和window server 2008 R2是IIS7.5,IIS的版本越新,配置越简单(这个是必然的)

我觉得以后遇上IIS6.0的机会很少了,所以也不必理会,只要知道IIS7的Integrated mode如何配置就可以了。

1.安装好IIS后,添加一个新的网站:

注意新建的website的binding不要与原有website冲突,Default Web Site使用的80端口。

新建的website都会自动创建App pool,它的作用是隔离其它的App pool,各个web site不会互相影响,一个crash了,其它还能继续。

2.在Application Pools下编辑刚刚创建的App pool:

这里选择.NET的版本和pipeline mode,就是前面说的Integrated mode和classic mode

3.在VS2010中publish

在web project上右键,publish

在弹出的Publish Web对话框里输入URL和website名,点击Publish

刷新IIS,可以看到已经部署成功

4.打开浏览器访问,遇到的问题及解决方案:

出现403.14Forbidden错误

需要运行命令:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

原因是先安装的.net framework,后安装的iis,需要将asp.net的模块注册到IIS

An attempt to attach an auto-named database for file .mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

使用mdf文件然后直接attach到sql server express这种方式的,可能会遇到这个错误,这个需要将User Instance=True这个属性加到connection string中

可以直接编辑web.config文件,也可以在IIS的web site的Features View页面的Connection Strings配置项修改

Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.

需要修改app pool的Identity,换成NewworkService,在App pool的Advanced Settings页面修改

Windows7的bug

这个是折腾我最久的一个issue,我实在win7开发的,部署后通过浏览器始终无法打开网页,也看不到任何错误。后来在windows server2008 R2上试了下,一点问题木有,后来在《Pro ASP.NET MVC 2 Framework, Second Edition》这本书找到了答案:

If you’re trying to deploy to IIS 7.5 on Windows 7 for development purposes, you may also need to click Start, type turn windows features on or off, press Enter, and then enable Internet Information Services

部署ASP.net MVC程序到IIS的更多相关文章

  1. PowerShell自动部署ASP.NET Core程序到 IIS

    Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能.有关于更多PowerShell的信息,可参阅百度词条 接 ...

  2. 阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅

    做了多年的Web开发工作,网站部署也不在话下,可每次部署却并不是十分顺利,将本次在阿里云服务器上部署asp.net mvc网站遇到的问题记录如下. 平台是阿里云ECS,操作系统是 Windows Se ...

  3. 用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器(转)

    用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器   现在不用Git,都不好意思说自己是程序员. 当你想用Git,而源代码服务器是Windows系统时,你 ...

  4. 在ASP.NET MVC中使用IIS级别的URL Rewrite

    原文 在ASP.NET MVC中使用IIS级别的URL Rewrite 大约一年半前,我在博客上写过一系列关于URL Rewrite的文章(2.3.4),把ASP.NET平台上进行URL Rewrit ...

  5. 05 入门 - 浅谈 ASP.NET MVC程序的工作原理

    目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容 1. Global.asax文件 2. RouteConfig.cs文件 3. 视图命名和寻址的规则 前面创建了一个简 ...

  6. IIS8发布Asp.net MVC程序后出现404错误,处理程序staticFile

    新部署的虚拟机,运行Asp.net MVC程序,出现如下图错误: 解决方法: 添加功能和角色->添加角色->Web服务器IIS->应用程序开发->Asp.net3.5 /Asp ...

  7. MVC中使用EF(1):为ASP.NET MVC程序创建Entity Framework数据模型

    为ASP.NET MVC程序创建Entity Framework数据模型 (1 of 10) By  Tom Dykstra |July 30, 2013 Translated by litdwg   ...

  8. 跟我学ASP.NET MVC之三:完整的ASP.NET MVC程序-PartyInvites

    摘要: 在这篇文章中,我将在一个例子中实际地展示MVC. 场景 假设一个朋友决定举办一个新年晚会,她邀请我创建一个用来邀请朋友参加晚会的WEB程序.她提出了四个注意的需求: 一个首页展示这个晚会 一个 ...

  9. 跟我学ASP.NET MVC之二:第一个ASP.NET MVC程序

    摘要: 本篇文章带你一步一步创建一个简单的ASP.NET MVC程序.  创建新ASP.NET MVC工程 点击“OK”按钮后,打开下面的窗口: 这里选择“Empty”模板以及“MVC”选项.这次不创 ...

随机推荐

  1. try...except包含try...finally方法

    def f(): try: try: f = open(raw_input('>')) print f.readlines() finally: f.close() #1/0 except Ex ...

  2. Oracle基本概念与数据导入

    Oracle基本概念 实例 一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成.一 ...

  3. SQL server无法连接,服务无法启动

    Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126 在使用SQL2005(或2008)是可能会遇到错误提示: “Windows 不能在 本地计算机 启动 SQL Se ...

  4. apache与nginx对比优势及劣势

    1.nginx相对于apache的优点:轻量级,同样起web 服务,比apache占用更少的内存及资源抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能 ...

  5. python调用rpc实现分布式系统

    rpc 一般俗称,远程过程调用,把本地的函数,放到远端去调用. 通常我们调用一个方法,譬如: sumadd(10, 20),sumadd方法的具体实现要么是用户自己定义,要么存在于该语言的库函数中,也 ...

  6. oracle之 sqlplus prelim 参数介绍 ( 处理hang )

    从Oracle10g开始,sqlplus提供了一个参数选项-prelim,用这个参数,在系统已经hang的时候.我们可以连接到SGA而不是数据库,也就是说没有session被创建. 一. 通过以下步骤 ...

  7. tar 打包处理文件

    基本格式:tar [Options] file_archive //注意tar的第一参数必须为命令选项,即不能直接接待处理文件 Option是由三部分组成,分别是操作类型(创建,查看,解压),压缩处理 ...

  8. nginx应用编译安装

    nginx应用编译安装: 安装编译所需依赖包: # apt-get install make gcc g++ libcurl3-openssl-dev libfreetype6-dev libmcry ...

  9. ora-01658: 无法为表空间*****中的段创建 INITIAL 区

    ora-01658: 无法为表空间*****中的段创建 INITIAL 区 原因:表空间不足 增大表空间.如果表空间动态增长,则扩大表空间的最大值.

  10. php 常用方法

    //返回json数据给js function json_output($err_code = 0 , $error_message = '' , $data = [] , $redirect = '' ...