发布到IIS

时间:2016-07-13 06:12:05

标签: c# asp.net-core iis-7.5

我将我的ASP.NET Core项目从RC1更新为1.0 RTM(使用preview2工具),一切都很顺利。我可以在Visual Studio中调试而不会出现问题。接下来,我想在Windows Server 2008 R2和IIS 7.5上上传该站点。我安装了必要的Windows主机工具并在IIS中创建了Web应用程序。问题是,在我尝试打开页面后,它返回了404错误。正如我在任务管理器中看到的,我的应用程序正在运行,但在侦听模式下停止。

在日志文件中,我只看到这些条目:

Hosting environment: Production
Content root path: C:\inetpub\wwwroot\MySite
Now listening on: http://localhost:20706
Application started. Press Ctrl+C to shut down.

似乎IIS集成存在一些问题。我的web.config文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="..\..\approot\MySite\MySite.exe" arguments="" forwardWindowsAuthToken="true" stdoutLogEnabled="true" />
    <httpErrors errorMode="Detailed" />
  </system.webServer>
</configuration>

我尝试了一些来自GitHub的解决方法,它影响了Startup.cs文件的Configure方法,但没有任何成功。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

好的,我遇到了多个问题,但导致我的网站无效的两个主要原因是:

  1. 我无法从两个不同的地方启动代码。我最初将wwwroot内容放在wwwroot文件夹下(并不那么令人惊讶),其余的都放到了appsot。现在一切都应该在同一个文件夹中。
  2. 我的发布版本不想工作。我必须使用debug文件夹的内容。我不知道为什么。
  3. 现在,一切都很好。

答案 1 :(得分:0)

FYI .. app文件夹中缺少此web.config文件。 该文件应位于:C:\ wwwwroot \ myapp \

401

别忘了用正确的Web API exe名称替换XXX.exe。