如何在IIS

时间:2017-09-07 08:37:56

标签: iis asp.net-core asp.net-core-2.0

我在主题中创建了一个应用程序,只需选择" ASP.NET核心Web应用程序"," .NET核心"," ASP.NET核心2.0&#34 ;," Web API"。

这会创建一个简单的应用程序,其中'默认' call," api / values",返回JSON数组' [" value1"," value2"](在浏览器上只有一个小警告) 。

到目前为止一切顺利。

现在我想在IIS上部署这个应用程序,只使用FolderProfile,所以我构建应用程序,我发布它,并且我有这个目录,包含运行它所需的所有文件。我看到添加了web.config(它不在源代码中),具有正确的配置以使用生成的dll启动运行时。

我将这个目录复制到一个物理目录上,我在一个应用程序池中创建了一个网站,简而言之,就是所有内容,我将其配置为常识建议,因为我找不到任何ASP.NET教程核心2.核心1的文档不能正确应用,因为有很多变化......

最后我总是得到这个结果:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

生成的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="dotnet" arguments=".\Core2WebService.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
  </system.webServer>
</configuration>
<!--ProjectGuid: 5c8e6f19-9a61-47c5-8ee1-8c4b54962ba2-->

我尽我所能,但始终以最终结果......任何想法? 感谢。

2 个答案:

答案 0 :(得分:4)

查看Host on Windows with IIS文档。现在,您似乎至少忘记安装the .NET Core Windows Server Hosting bundle

该软件包还将安装ASP.NET核心模块,在IIS和Kestrel服务器之间创建反向代理。

答案 1 :(得分:0)

您可以直接从.Net Core应用程序发布。

我已经为此编写了一步一步的指南,唯一的区别是,我已经解释过托管应用程序而不是Web API。

看看这里:https://neelbhatt.com/2018/01/30/deploy-net-core-application-to-iis-step-by-step-guide/