ASP.NET MVC - 发布web应用程序、部署到IIS

发布项目

右击项目 - 发布

选择IIS - 点击发布

发布方法 - 文件系统,目标位置 - 选择与项目所在目录不同的目录(也即,指定一个发布生成文件的目录),文件发布选项 - 不选 - 点击发布

安装IIS

点击windows徽标 - 设置 - 应用和功能 -  右侧程序和功能

左侧 - 启用或关闭windows功能

勾选Internet Information Services后会自动安装IIS,一定要把万维网服务选项下面的ISAPI选中,最好全选,以绝后患。

在程序列表中找到IIS管理器图标并打开它。

部署web项目到IIS

右击网站 - 添加网站

只需要指定:网站名、刚才发布的项目所在根目录、端口即可

双击应用程序池,在中间面板中的列表如果不像下面的图那样,则说明IIS没安装完全。

至此网站已经部署到了IIS,可以单击IIS管理器左侧的网站图标,再单击右侧的浏览网站即可测试

附加正在开发的项目到IIS

不需要发布项目,直接在IIS中添加网站,路径选择项目所在目录即可。如果在vs中修改了源代码,通过浏览器访问网站前一定要先编译项目,否则网站不会执行已经修改过的程序。当需要调试项目时,可以使用附加到进程,前提是IIS中的web程序已经在运行在w3wp.exe中。在以管理员身份登录的vs中创建断点 - 编译项目 - 点击菜单栏的调试菜单 - 附加到进程 - 勾选显示所有进程 - 双击w3wp.exe。如果w3wp.exe不在进程列表,可以先向IIS发起一个请求,打开网页,此时w3wp.exe会出现在vs附加到进程的进程列表中。

常见错误:

用户 ‘IIS APPPOOL\XXX‘ 登录失败。

解决方法:双击应用程序池 - 在面板中间右键选择你的web程序所在应用程序池 - 高级设置 - 进程模型 - 选择合适的登录数据库的模式

如果列表中的选项都无效,则选择ApplicationPoolIdentity,然后在web.config中将数据库连接字符串改为用户密码登录,比如sa

如果双击"处理程序映射"时报下面的错误:是因为IIS7采用了集成管道模式,锁定了module和handler

处理程序映射
---------------------------
执行此操作时出错。

解决方法:

管理员身份运行命令行解锁:
C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

原文地址:https://www.cnblogs.com/myrocknroll/p/8419597.html

时间: 2024-07-31 18:15:48

ASP.NET MVC - 发布web应用程序、部署到IIS的相关文章

ABP示例程序-使用AngularJs,ASP.NET MVC,Web API和EntityFramework创建N层的单页面Web应用

本片文章翻译自ABP在CodeProject上的一个简单示例程序,网站上的程序是用ABP之前的版本创建的,模板创建界面及工程文档有所改变,本文基于最新的模板创建.通过这个简单的示例可以对ABP有个更深入的了解,每个工程里应该写什么样的代码,代码如何组织以及ABP是如何在工程中发挥作用的. 源文档地址:https://www.codeproject.com/Articles/791740/Using-AngularJs-ASP-NET-MVC-Web-API-and-EntityFram 源码可以

deployment与Web应用程序部署

定义用于支持 Web 应用程序部署的配置设置. <deployment retail="true|false" /> retail属性:设置一个值,该值指定是否以发布模式部署 Web 应用程序.默认值为 false.如果 retail 设置为 true,ASP.NET 将禁用某些配置设置,如跟踪输出.自定义错误和调试功能. 但是只要我在Web.Config里面一加这个配置就报错.

IIS发布web应用程序之再折腾

最近几个月发布程序比较多,遇到了各种IIS发布web程序后无法访问的问题.原以为对各种问题都已经摸的差不多了,但今天又为一问题折腾了大半天.具体过程祥记如下: 在server2008 R2 64位系统上发布web应用程序,应用程序池设置为:.net 4.0 经典模式,“启动32位应用程序”设置为true.这是跟据之前的经验,设置的,很多时候都管用.但今天跳出这样的错误: 根据以往经验,这个问题这么干就行了: “原因:开发环境和部署环境不同造成的(系统64bit 和 系统32bit) 解决方法:I

asp.net mvc vs web form

译者介绍 小小.NET学童,滴答…滴答…的雨…… 正文如下======================================================= 原文示例(VS2012): 1.  Download Simple WebForm demo - 6.7 KB 2.  Download Simple MVC Demo demo - 1.5 MB 介绍 我做为一名ASP.NET开发人员已经有很长时间了,并且我非常乐意使用ASP.NET Web Forms开发web应用程序. 在

ASP.NET MVC - 创建Internet 应用程序

为了学习 ASP.NET MVC,我们将构建一个 Internet 应用程序. 第 1 部分:创建应用程序. 我们将构建什么 我们将构建一个支持添加.编辑.删除和列出数据库存储信息的 Internet 应用程序. 我们将做什么 Visual Web Developer 提供了构建 Web 应用程序的不同模板. 我们将使用 Visual Web Developer 来创建一个带 HTML5 标记的空的 MVC Internet 应用程序. 当这个空白的 Internet 应用程序被创建之后,我们将

asp.net mvc 发布问题

由于asp.net mvc版本较多,部署在服务器iis上有可能出现xxx.dll找不到,版本不对等问题. 解决方案: 打开"工具"--"nuget包管理器"--"程序包管理器控制台",依次输入: Update-Package Microsoft.AspNet.WebApi -reinstall Update-Package Microsoft.AspNet.Mvc -reinstall Update-Package Microsoft.AspNe

SignalR + Mvc 4 web 应用程序

在上节中,我们已经初步对 SignalR 进行了了解,这一节我们将做一个SignalR Demon,具体的步骤如下: 1. 创建一个 mvc 4 web 应用程序,并选择 Basic 2. 创建一个 Home 控制器, 创建好后,目录应该是这样的: 3. 在项目中,鼠标右键打开 Nuget 程序管理包,在 Nuget 程序管理包中 输入 signalr 这样的字符串进行搜索,在搜索结果中选中 Microsoft ASP.NET SignalR 这个项目,并点击安装 4. 在刚创建好的 Home

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth 各种语言实现的oauth认证: http://oauth.net/code/ 上一篇文章介绍了如何使用基本的http认证来实现asp.net web api的跨平台安全认证. 这里说明一个如何使用oauth实现的认证.oauth大家可能不陌生.那么这里需要注意的是我们使用的是.net平台一个比较好的开源oauth库. DOTNETOPENAUTH. 就像上图所示,我们需要一个ISSSUE Server来给我们一个token

[Asp.Net] MVC 和Web API 的区别

Asp.net MVC 和web api 的action 在获取从前台传入的数据是有很大不同 前台使用ajax的方式向后台发起post的请求 Content-Type:application/json 使用以下json对象 { "user": { "Username":"xxx", "Password":"xxxx" } } { "Username":"xxx", &