在IIS上部署ASP.NET MVC项目
来源:互联网 发布:township无限金币 mac 编辑:程序博客网 时间:2024/04/30 15:14
需求前言:最近会经常修改一些网站前端的内容,为了方便跟UI和产品交流,需要将自己修改过的页面及时发布到测试机或者是本地的IIS上。而为了熟悉IIS的一些应用,所以先将项目发布在了本地IIS上,这其中遇到了一些问题,现在解决之后,就记录下来,留待后用。
流程图:
这里如何启用并配置IIS就不多说了,主要想记录下来的是在试运行过程中所遇到的一些问题。
配置IIS的几个关键点:
1.URL重写模块,这个以前是ISAPI筛选器的功能,后来好像就改版了,都成模块化设计了。(URL rewrite 下载链接)
2.ASP.NET MVC项目有路由机制,所以不需要用到IIS中默认文档功能以及目录浏览功能。
3.记得检查应用程序池的 .NET Framework版本,配置成v4.0版本。
4.身份验证上一般不用管,IIS默认使用的是“匿名身份验证”。
三大问题
1.试运行时无法正常访问网站,报错如下:
错误摘要
HTTP 错误 403.14 - Forbidden
Web 服务器被配置为不列出此目录的内容。
主要原因本地项目的web.config 文件出错,缺少一行代码,补上就好,代码如下:
<system.webServer> <modules runAllManagedModulesForAllRequests="true" /> </system.webServer>
附上参考链接:点我
2.上面这个问题解决后,再次运行报CS0016未能写入输出文件错误,这里的问题是IIS所对应的组或用户没有访问本地文件夹C:\Windows\TEMP的权限,进入到temp文件夹的属性窗口的安全选项卡,进行修改。
3.来自项目本身,这个涵盖面就很广了。我遇到的主要是两个方面的问题:
3.1 来自JS文件的逻辑判断,用到了 documen.domain属性,可以用该属性获得当前的URL中的服务器名称或是IP地址,以此来进行判断,运行网站的当前用户是否合法。
3.2 来自对网站中各个URL入口的设置。这里有个背景交代:在线下调试时URL中的服务器名称一般都是 “localhost:端口号”,而在线上则会替换成相应的域名,为了修改方便,有以下的设置方式:
web.config 文件中:
<appSettings><!--域名--> <add key="Domain" value="http://localhost:7676"/> <add key="Host" value="localhost"/></appSettings>
某静态类中:
public static partial class WebUIHelper{ public static readonly string dominUrl = ConfigurationManager.AppSettings["Domain"];}
某页面中:
@{ var hostUrl = WebUIHelper.dominUrl;}<a href="@(hostUrl)/***/">
综上 发布到IIS上时记得 修改web.config文件。
结语
1.全栈工程师是很厉害的。全栈工程师=基础知识深厚+完善的机器模型+计算机网络+各种前后端语言。
2.不想了解产品逻辑的程序员当不了一名合格的工程师。
- 在IIS上部署ASP.NET MVC项目
- 在 IIS 6 上部署 ASP.NET MVC 站点
- asp.net mvc 2 RC 在iis上的部署
- 在IIS上部署ASP.NET Core项目
- 在IIS上部署你的ASP.NET Core项目
- ASP.NET Core部署在IIS上
- 将ASP.NET MVC 2.0 部署在IIS上的教程
- 在IIS 5.1下如何部署ASP.NET MVC 程序
- ASP.NET MVC 3.0 在各个版本IIS中的部署
- Win7 在IIS上部署asp.net网页
- 在不同版本的 IIS 上使用 ASP.NET MVC
- 在不同版本的 IIS 上使用 ASP.NET MVC
- 在不同版本的 IIS 上使用 ASP.NET MVC
- 在不同版本的 IIS 上使用 ASP.NET MVC
- 在不同版本的 IIS 上使用 ASP.NET MVC
- asp.net MVC项目在(IIS5.1、IIS6.0、IIS7.5)上 部署
- 部署ASP.net MVC程序到IIS
- ASP.NET MVC部署到IIS
- HDU 6078 Wavel Sequence
- 当你在应用机器学习时你应该想什么
- 自动化测试框架selenium+java+TestNG——TestNG注解、执行、测试结果和测试报告 之二
- maven pom文件中定义常量值
- XHProf-php轻量级的性能分析工具
- 在IIS上部署ASP.NET MVC项目
- 成为一名Java高级工程师你需要学什么
- spring各版本下载及spring3.*.jar各包解释
- HDU 1711 Number Sequence
- 点击删除一列
- python浅拷贝 深拷贝
- 改好的Oauth2实例样例代码eclipse工程
- Matlab中fftshift的用法
- 人性的弱点(卡耐基)读书笔记