1

我想将针对 net452 的 ASP.NET Core RTM Web 应用程序部署到 IIS 应用程序而不是 IIS 网站。我正在使用 IIS 10(Windows 10)

我以前有一个项目,并使用此处此处ASP.net 5 RC1描述的方法将其部署到 IIS 中的 IIS 应用程序文件夹

我需要在我的网站下将网站作为应用程序运行,例如IIS 中的http://locahost/mysite,我在 RC1 中通过Configure在我的方法中添加以下代码行来实现这一点Startup.cs

app.Map("/MyApplication", (app1) => this.Configure1(app1, env, loggerFactory));

在我将项目转换为 ASP.net 核心后,它可以在 Visual Studio 中成功运行,但是当我访问 URL 时,上面的代码现在只是在 IIS 中给了我一个空白页http://localhost/mysite

我已确保我的代码中包含ASP.NET 文档网站上关于如何将 ASP.NET Core 部署到 IIS 的所有内容,包括安装安装程序和执行iireset.

在此处输入图像描述 但是在完成设置所需的一切之后,我得到了相同的空白屏幕。

现在我被困住了。

然后我启用了日志记录。当我启用登录web.config时,当我尝试访问我的网站时,我得到以下信息

info: Microsoft.Extensions.DependencyInjection.DataProtectionServices[0]
      User profile not available. Using 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\AutoGenKeys\S<removed>\DataProtection' as key repository and Windows DPAPI to encrypt keys at rest.
Hosting environment: Production
Content root path: C:\mydeployfolder
Now listening on: http://localhost:8305/mysite
Application started. Press Ctrl+C to shut down.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://localhost/mysite

从上面你可以看到我在浏览器中输入了 url,并创建了一个日志条目,但是浏览器中的最终结果仍然是一个空白页面。

然后我从一开始就读取日志,出于某种原因,它正在侦听端口 8308 而不是端口 80。所以我输入http://localhost:8305/mysite浏览器并在日志中得到以下内容

info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://localhost:8305/mars  
fail: Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware[0]
      'MS-ASPNETCORE-TOKEN' does not match the expected pairing token '<removed>', request rejected.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 0.9426ms 400 
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://localhost:8305/favicon.ico  
fail: Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware[0]
      'MS-ASPNETCORE-TOKEN' does not match the expected pairing token '52561883-06a6-46ce-b8dc-5daadb6e83c0', request rejected.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 0.7004ms 400 

仍然是一个空白页。

我只想托管以 IIS 为目标的 Web 应用程序,并且之前在 ASP.NET 5 RC 中进行过。我在 ASP.NET Core 中做错了什么还是不可能了?

4

1 回答 1

0

app.Map("/MyApplication", (app1) => this.Configure1(app1, env, loggerFactory));

ASP.NET Core RC2 或 RTM 中不再需要解决方法,而 RC1 中需要解决方法

于 2016-08-16T10:09:52.730 回答