.NET Core Web API IIS部署本地计算机

时间:2016-10-05 09:29:42

标签: c# iis asp.net-web-api asp.net-core

我在新的.NET CORE框架中创建了一个Web API,它从我们域上的服务器中获取数据。(本地机器也位于域上)。

使用IIS express进行部署很好,它可以运行并运行。

目前已经构建了一个快速的xamarin应用程序来与我的Web API进行通信,但是在我的手机上进行测试时,我还没有办法连接到我的本地IISExpress。

所以我将我的web api发布到我的本地机器上(rightr点击解决方案发布)。

我在我的机器上的IIS中设置了一个应用程序池,将其设置为非托管代码。 然后我创建了一个虚拟目录并指向该目录,然后我将其转换为应用程序并将其分配给我的应用程序池。

当我导航到网址“http://localhost/MereWebAPI”时,我得到一个空白页面,这是预料之中的。所以我用api“http://localhost/MereWebAPI/api/name/1”完成了网址,但是我仍然得到一个空白页面。

所以我试过我的其他控制器执行简单的“GET”但是得到一个带有“[]”的空白屏幕。

我错过了这里的任何步骤吗?

编辑:我的appsettings.json

{
"ConnectionStrings": {
"DefaultConnection":     "Server=server\\instance;Database=DEV01;Trusted_Connection=True"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
  "Default": "Debug",
  "System": "Information",
  "Microsoft": "Information"
}
}
}

编辑:我在project.json中的发布选项

"publishOptions": {
"include": [
  "wwwroot",
  "**/*.cshtml",
  "appsettings.json",
  "web.config"
]
},

1 个答案:

答案 0 :(得分:0)

您需要更多信息。

.\logs\stdout启用并检查应用程序日志

<system.webServer>
    <handlers>
      <add 
         name="aspNetCore" 
         path="*" 
         verb="*" 
         modules="AspNetCoreModule" 
         resourceType="Unspecified"/>
    </handlers>
    <aspNetCore 
         processPath=".\MyApp.exe" 
         arguments="%LAUNCHER_ARGS%" 
         stdoutLogEnabled="false"                  <--- enable
         stdoutLogFile=".\logs\stdout" />          <--- set path
  </system.webServer>
</configuration>

检查IIS日志(您可能不必先启用它们)。事件查看器&gt; Windows日志&gt;应用。要向下钻取,您可以按事件级别等过滤当前日志...

IIS Application Logs