我在新的.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"
]
},
答案 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;应用。要向下钻取,您可以按事件级别等过滤当前日志...