IIS部署站点相关经验总结

1.IIS和.net4.0安装是有先后顺序的,应该先安装.net framework 4.0,再安装IIS。如果按相反顺序安装的话,IIS中看不到4.0相关的东西,那么只能执行命令启用:

C:\Windows\system32> C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regii.exe -ir -enable

2. IIS的应用程序池标识有“ApplicatonPoolIdentity”,”LocalSystem”,”Local Service”,”Network Service”,默认使用“ApplicatonPoolIdentity”,那么如果你连接的是本地的数据库,由于安全的限制,你可能就连接不上,在应用程序池高级设置》进程模型中把应用标识改成”LocalSystem”或许就可以了。

3.machineKey : 它默认被配在asp.net 框架级的machine.config(C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config)中, 它默认由.net framework动态生成,在不同的服务器上生成的都不一样,然而集群场景中必须要一样才行,不然在一些加密解密过程中会出现错误:

4.要注意IIS应用程序池经典模式与集成模式的区别,这个要根据具体场景具体分析。

案例1: 在负载均衡方式部署时,由于多台服务器上的machineKey不一样,会导致viewstate验证失败。

“/”应用程序中的服务器错误。

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

See http://go.microsoft.com/fwlink/?LinkID=314055 for more information.

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

See http://go.microsoft.com/fwlink/?LinkID=314055 for more information.

源错误:

[没有相关的源行]

源文件: c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\a59f6e56\410d1464\App_Web_uydhjhqj.5.cs    行: 0

堆栈跟踪:

案例2: 应用程序池标识设置不当,导致无法连接机上的.\sqlexpress实例

无法打开登录所请求的数据库 "wygl"。登录失败。
用户 'IIS APPPOOL\ielong' 登录失败。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 无法打开登录所请求的数据库 "wygl"。登录失败。
用户 'IIS APPPOOL\ielong' 登录失败。

源错误:

执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息

:v4.0相关的ISAP和CGI扩展未启用,导致网站无法使用

朋友的产品“易隆物业管理系统”出问题了,就联系我帮忙解决。我访问时就遇到下面这个异常信息:

============================2015-07-31 00:12:57==============================

IP:

Message:要处理此请求,必须在配置中注册 WebResource.axd 处理程序。

<!-- Web.Config 配置文件 -->

<configuration>

<system.web>

<httpHandlers>

<add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />

</httpHandlers>

</system.web>

</configuration>

Stack:   在 System.Web.Handlers.AssemblyResourceLoader.GetWebResourceUrlInternal(Assembly assembly, String resourceName, Boolean htmlEncoded, Boolean forSubstitution, IScriptManager scriptManager)

在 System.Web.Handlers.AssemblyResourceLoader.GetWebResourceUrl(Type type, String resourceName, Boolean htmlEncoded, IScriptManager scriptManager)

在 System.Web.UI.ClientScriptManager.GetWebResourceUrl(Page owner, Type type, String resourceName, Boolean htmlEncoded, IScriptManager scriptManager)

在 System.Web.UI.ClientScriptManager.RenderWebFormsScript(HtmlTextWriter writer)

在 System.Web.UI.Page.RenderWebFormsScript(HtmlTextWriter writer)

在 System.Web.UI.Page.BeginFormRender(HtmlTextWriter writer, String formUniqueID)

在 System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)

在 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)

在 System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output)

在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)

在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)

在 System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer)

在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)

在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)

在 System.Web.UI.Control.Render(HtmlTextWriter writer)

在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)

在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)

在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer)

在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)

在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)

在 System.Web.UI.Page.Render(HtmlTextWriter writer)

在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)

在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)

在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer)

在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

====================================END======================================

想了下,是不是应用程序池类型的原因呢,一看应用程序池现在用的是集成,换成经典试试,

把应用程序池改成经典,然后遇到报错:
HTTP 错误 404.2 - Not Found
由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
然后进入IIS7.5的“ISAPI和CGI限制”,一看明白了,asp.net v4.0处于“不允许”状态,


把4.0相关的启用就好了。。。

IIS部署站点相关经验总结的更多相关文章

  1. Win7 IIS 部署站点遇到的问题 如 HTTP 错误 404.XX

    HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面. 解决办法:设置为允许-面相 =============== ...

  2. IIS指定站点网卡IP进行网络部署

    服务器一般有多块网卡,有时候每块网卡会绑定不同的公网ip,也就是一个机器可以有多个公网ip,那IIS部署时可以选择此项目使用那个IP部署.(当然,一块网卡也可以绑定多个IP) 编辑绑定-编辑-IP地址 ...

  3. ASP.NET Core 入门(4)(IIS 部署前后端站点)

    .NET Core发布部署的文章园内有很多了,大家可以自行百度,该篇主要想总结需要注意的地方,列举前后端(比如前段 Vue,后端 WebAPI)在同一台服务器上的主要两种方式. 两种方式: 1. 前后 ...

  4. 阿里云SLB双机IIS多站点负载均衡部署笔记

    首先SLB是通过局域网与ECS链接 ECS1服务器 test文件夹增加index.html test1文件夹增加index.html 设置ECS1服务器(130)IIS test站点 设置test主机 ...

  5. [WCF]IIS部署到新系统

    最近为以前的一个企业部署软件的时候,接触到WCF,通过博客园大佬的系列文章和一些书籍,基本了解了一些.简单说也算是SOA一种方式,提供某种服务,可以理解为一个类库,供其他项目使用,可以做到业务分离.但 ...

  6. IIS部署php项目——discuz论坛

    1.安装CgiModule模块 首先,IIS要部署php项目,需要CgiModule模块的支持,所以首先我们要确认这个模块是否存在 打开IIS管理器: 我这里是存在的: 如果不存在,可以自行在控制面板 ...

  7. IIS部署遇到的一些问题

    IIS部署时候会遇到一些具体的问题,记录一下.此处的部署环境为Windows Server 2012 64位版本 1.基本部署:角色和功能管理-->web服务器,勾选相应的服务与功能,然后安装即 ...

  8. 从 HTTP 到 HTTPS - IIS 部署免费 HTTPS

    这篇文章首发于我的个人网站:听说 - https://tasaid.com/,建议在我的个人网站阅读,拥有更好的阅读体验. 这篇文章与 博客园 和 Segmentfault 共享. 前端开发QQ群:3 ...

  9. Asp.net vnext的IIS部署

    微软前段时间推出asp.net vnext,自个也尝试了一把,也写了几篇关于vnext特性的博客,如下. 但一直有个困扰的问题,asp.net vnext如何在iis部署,因为整个目录结构跟之前有了很 ...

随机推荐

  1. 【读书笔记】2016.11.19 北航 《GDG 谷歌开发者大会》整理

    2016.11.19 周六,我们在 北航参加了<GDG 谷歌开发者大会>,在web专场,聆听了谷歌公司的与会专家的技术分享. 中午免费的午餐,下午精美的下午茶,还有精湛的技术,都是我们队谷 ...

  2. Lind.DDD.Domain.ISortBehavor~上移与下移

    在进行列表排序时,有个“上移”和“下移”操作,这个一般在内存里完成,然后统一提交到数据库中,对于上移与下移的设计,大叔在LIND.DDD.DOMAIN里有一个ISortBehavor接口,主要是说,如 ...

  3. 11、ASP.NET MVC入门到精通——AspnetMVC分页

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 说起分页,这基本上是我们Web开发中遇见得最多的场景,没有之一,可即便如此,要做出比较优雅的分页还是需要技巧的.这里我先说一种ASP.NET ...

  4. sharePoint 2016 弃用和删除的功能

    前言 sharepoint 2016版本正式发布,但是相比较2013版本,还是删除或者准备删除一些功能,我们需要了解一下哪些功能已经被删除掉或者在下一个版本中移除,因为这些可能影响我们现有系统是否能够 ...

  5. Inplace Search on document libraries and lists is not working

    [http://sharepointfarmer.com/inplace-search-on-document-libraries-and-lists-is-not-working/] I ran i ...

  6. python的基础知识

    Python文件命名时不要有中文,不然在dos中不能执行 D:\Program Files\Py>Python hellyy.pyYear:2016Month(1-12):1Day(1-31): ...

  7. iOS Swift-元组tuples(The Swift Programming Language)

    iOS Swift-元组tuples(The Swift Programming Language) 什么是元组? 元组(tuples)是把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是 ...

  8. SDWebImage的使用

    - setItem:(CustomItem *)item { _item = item; // 占位图片 UIImage *placeholder = [UIImage imageNamed:@&qu ...

  9. IOS开发之Bug--使用KVC的易错情况

    1.其实某些角度而言KVC是一个破坏封装又暴力的做法,而我已经两次因为KVC而导致应用程序出现闪退的情况. 场景:1.使用KVC修改某一个UIView的属性,比如width.    2.在viewWi ...

  10. 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0

    新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...