我创建了一个新的ASP.NET5 Beta8Web应用程序。
我将其发布到我的本地文件系统,然后将这些文件拷贝到我的服务器上,该服务器是Windows server 2012 R2
在服务器上的IIS8.5中,我创建了一个应用程序,该应用程序使用一个应用程序池,该应用程序池使用Process Model ->标识作为LocalSystem。
并将路径指向复制的已发布应用程序的wwwroot子文件夹
我的web.config
<configuration>
<system.webServer>
<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="..\logs\stdout.log" startupTimeLimit="3600"></httpPlatform>
</system.webServer>
</configuration>
直接在服务器上运行URL或单击IIS中的浏览
http://localhost/WebApplication1
我得到以下错误
超文本传输协议错误500.19 -内部服务器错误
无法访问请求的页面,因为该页面的相关配置数据无效。
我使用的是Visual Studio2015 ASP.NET 5Web应用程序模板中的默认web.config,所以我只能认为它可能是.net版本。
我使用MSDN method来确定所安装的.NET 4的版本,它对应于.NET框架4.5.1
在我的project.json中
"frameworks": {
"dnx451": { }
},
发布时编译为Win CLR
当我转到部署目录中的approot文件夹时,我可以运行web.cmd web服务器,然后通过创建的端口访问我的网站。
http://localhost:5000/
而且这个网站可以正常工作。
如果我查看已安装的IIS服务器角色组件
已安装ASP.NET 4.5。
应用程序池是正确的。
ASP.NET 4网站使用相同的应用程序池在IIS中正常运行
我的问题1.为什么IIS说web.config无效? 2.如何让ASP.NET 5 Beta 8站点在IIS中运行?
发布于 2015-10-20 19:48:19
HttpPlatformHandler是必备的,所以你需要安装它。
[更新:对于RC2和更高版本,需要一个新模块来代替HttpPlatformHandler, ]
发布于 2015-10-20 21:26:23
IIS5 Beta8中的托管模型已更改,现在依赖于ASP.NET HttpPlatformHandler.
您会注意到您的web.config位于wwwroot文件夹中,或者您的应用程序包含对它的引用。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
</system.webServer>
上面的%DNX_PATH%转换为"..\approot\web.cmd“
在IIS中托管ASP.NET 5应用程序的
现在将使用配置为转发到ASP.NET 5 Kestrel服务器的IIS实现。HttpPlatformHandler是一个原生IIS模块,需要由管理员在运行IIS的服务器上安装(安装程序: x86、x64)。它也已经包含在IIS Express上用于本地开发的IIS工具更新中。本机IIS模块管理外部应用程序宿主进程(在本例中为dnx.exe)的启动以及从IIS到宿主进程的请求路由。
您可以使用Microsoft Web Platform安装程序或从Microsoft的IIS站点下载链接上的单独的x86 / x64安装程序安装HttpPlatformHandler:link。
注意: HttpPlatformHandler只支持IIS8 +。所以这意味着对于像Windows Server2008IIS7.5这样的老操作系统,你将不能使用R2来托管ASP.NET 5网站,因为这些版本不支持HttpPlatformHandler。
发布于 2016-07-01 00:16:32
使用IISCore1.0,您必须在ASP.Net主机上安装ASP.NET Core Module
。你可以使用get it here。
https://stackoverflow.com/questions/33235257
复制相似问题