刚把装备升级成Win10和VS2015打开以前的项目一运行发现问题来了,出错,
“检测到在集成的托管管道模式下不适用的 ASP.NET 设置。”
可尝试的操作:
1,将配置迁移到 system.webServer/modules 节。也可以手动这样做,或通过在命令行中使用 AppCmd 来这样做。例如,从 IIS Express 安装目录运行 appcmd migrate config "Default Web Site/"。使用 AppCmd 迁移应用程序将使它能够在集成模式下工作,并能继续在经典模式下和以前版本的 IIS 上工作。
2,如果您确信可以忽略此错误,则可以通过将
system.webServer/validation@validateIntegratedModeConfiguration
设置为 false 来禁用它。
3,也可以将应用程序切换到经典模式应用程序池。例如,从 IIS Express 安装目录运行 appcmd set app "Default Web Site/" /applicationPool:"Clr4ClassicAppPool"。只有在无法迁移应用程序时才这样做。
看的云里雾里,不知道如何下手,不过可以肯定很明显只要开启经典模式就可以了,可以是哪儿改呢?
有问题问找度娘,百度了一下,有好多在VS2013里也遇到了此类问题,解决方法是到C:\Users\Administrator\Documents\IISExpress\config\applicationhost.config更改IISExpress里面的config 配置
<sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" /> <-------将这个地方改为Clr4ClassicAppPool,试过之后发现不行
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
然后无意间右击了右下角的IISExpress-》显示所有应用程序-》点击运行的网站实例-》最下角的“配置”,发现在关键字文件路径XXXXX\.vs\config\applicationhost.config,
会不会是这个文件的配置问题呢,按照百度到的办法修改配置文件中的“<applicationDefaults applicationPool="Clr4IntegratedAppPool" /> <-------将这个地方改为Clr4ClassicAppPool”发现还是不行。据说这个地方修改以后是可以让所有网站实例都按照经典模式运行的。
最后仔细观察这个文件内容,发现我的程序实例名的的配置还有个集成模式的设置,接着改了之后,发现居然成功了!呵呵
<site name="应用工程名" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">《-----这个地方还有个配置呢
<virtualDirectory path="/" physicalPath="工程路径" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:5484:localhost" />
</bindings>
</site>
最后总结一下,VS2015生成的工程根目录下会有一个隐藏的.vs文件夹,这里面的config文件夹里面放着applicationhost.config文件,修改这个文件中的对应实例的应用配置为经典模式就可以了。
谢谢在VS2013中解决这个问题的前辈们
在 IIS 7.5 中,应用程序池有两种运行
模式
:
集成
模式
和经典
模式
。
应用程序池
模式
会影响服务器处理
托管
代码请求的方式。
如果
托管
应用程序在采用
集成
模式
的应用程序池中运行,服务器将使用 IIS 和
ASP.NET
的
集成
请求处理
管道
来处理请求。
如果
托管
应用程序在采用经典
模式
的应用程序池中运行,服务器会继续通过 Aspnet_isapi.dll 路由
托管
代码请求,其处理请求的方式就像应用程序在 IIS 6.0 中运行一样。
经典
模式
:
指的是与IIS 6或者之前版本保持兼容的一种
模式
,一个典型问题就是,在处理
ASP.NET
这种动态网站的时候,它是通过一个所谓的ISAPI程序,作为插件的方
ASP.NET
CORE
ASP.NET
4.X
针对 Windows、macOS 或 Linux 进行生成 针对 Windows 进行生成
Razor Pages 是在
ASP.NET
Core 2.x 及更高版本中创建 Web UI
时建议使用的方法。 另请参阅 MVC、Web API 和 SignalR。
使用 Web Forms、SignalR、MVC、Web API、WebHook 或网页
每个计算机多个版本 每个计算机一个版本
ASP.NET
Core 是
ASP.NET
4.x 的重新设计。 本文列出了两者之间的区别。
ASP.NET
Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。
ASP.NET
Core 具有如下优点:
生成 Web UI 和 Web API 的统一场景。
针对可测试性进行构建。
Razor Pages 可以使基于页面的编码方式更简单高效。
Blazor 允许你在浏览器中使用 C# 和 JavaScript。 共享全部使用 .NET 编写的服务器端和客户端应用逻辑。
能够在 Windows、macOS 和 Linux 上进行开发和运行。
开放源代码和以社区为中心。
集成
新式客户端框架和开发工作流。
支持使用 gRPC
托管
远程过程调用 (RPC)。
基于环境的云就绪配置系统。
内置依赖项注入。
轻型的高性能模块化 HTTP 请求
管道
。
能够
托管
于以下各项:
并行版本控制。
简化新式 Web 开发的工具
数百万开发人员使用过(并将继续使用)
ASP.NET
4.x 创建 Web 应用。
ASP.NET
Core 是重新设计的
ASP.NET
4.x ,更改了体系结构,形成了更精简的模块化框架。
ASP.NET
Core 具有如下优点:
生成 Web UI 和 Web API 的统一场景。
集成
新式客户端框架和开发工作流。
基于环境的云就绪配置系统。
内置依赖项注入。
轻型的高性能模块化 HTTP 请求
管道
。
能够在 IIS 、 Nginx 、 Apache 、 Docker 上进行
托管
或在自己的进程中进行自
托管
。
定目标到 .NET Core 时,可以使用并行应用版本控制。
简化新式 Web 开发的工具。
能够在 Windows 、 macOS 和 Linux 进行生成和运行。
开放源代码和以社区为中心。
应用程序池
模式
会影响服务器处理
托管
代码请求的方式。
如果
托管
应用程序在采用
集成
模式
的应用程序池中运行,服务器将使用 IIS 和
ASP.NET
的
集成
请求处理
管道
来处理请求。
如果
托管
应用程序在采用经典
模式
的应用程序池中运行,服务器会继续通过 Aspnet_isapi.dll 路由
托管
代码请求,其处理请求的方式就像应用程序在 IIS 6.0 中运行一样。
•此应用程序在system.web/httpModules节中定义配置。
可尝试的操作:
•将配置迁移到system.webServer/modules节。也可以手动这样做,或通过在命令行中使用AppCmd来这样做-例如,%SystemRoot%\system32\inetsrv\appcmdmigrateconfig"...
http://www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/aspnet-integration-with-iis
validateIntegratedModeConfiguration="false"
If you have manually migrated your
在应用程序中看到两个报错
1.在要求开始处理 http 请求时,应用程序池“Clr4IntegratedAppPool”的工作进程(PID=“488”)未能初始化 http.sys 通信,因此 W3SVC 将其视为错误并终止。数据字段包含错误号。
2.工作进程未能正确初始化,因而无法启动。返回的数据为错误信息。
说起来真实想锤自己两下。
我是启动我自己写的webapi,我自己的项目,百度的...
最近在使用XP的IIS发布
Asp.Net
MVC3的项目,但是发现一个很头疼的一个问题,在IIS指定虚拟目录来发布网站发布不了,以前发布Webfrom项目则不会有这样的问题,应该是跟路由路径有关系,导致每次都是从网站根节点算起,而不是从指定的虚拟目录算。如果是发布在默认网站下,也就是直接右击默认网站,将主目录指定到网站路径,再在配置下添加aspnet_isapi.dll映射,这样是可以发布成功的。...
本篇文章主要介绍: 通过配置 IIS Express IIS10.0,实现虚拟目录访问站点。
通过配置 IIS Express 实现 一个域名下,访问不同的路径,来对应不同项目,对应不同的路径。
介绍了一下常见的配置错误 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。
最后介绍了IIS Express 常用功能(目录权限、默认文档)的配置
前言:因为每次写Web.config都总是忘记什么是干什么的,于是决定写一篇文章记下来。本文中的所有内容都可能是经过查阅资料摘抄或者是查阅后自己撰写的。每个部分会注明是转载还是原创。对于转载的将会加入角标,在文章的最后面写上来源。
iis express一次只能运行一个网站, 执行iisexpress 不加参数. 将执行配置文件中的第一个网站. iis express一次只能运行一个 应用程序池. 可以使用这个特点实现一次开始多个网站 可将多个网站
设置
同一个应用程序池, 命令行中执行以下语句就可以开启Clr4IntegratedAppPool应用程序池的网站了.. iisexpress /...