C# .NET核心Web API IIS部署本地计算机
我在新的.NET核心框架中创建了一个Web API,它从我们域上的服务器获取数据(本地机器也位于域上) 使用IIS express部署很好—它可以运行并正常工作 目前,我建立了一个快速的xamarin应用程序,可以与我的web API进行对话,但是当我在手机上进行测试时,我没有办法连接到我的本地IISExpress 因此,我将我的web api发布到本地机器上(右键单击解决方案发布) 我在我的机器上的IIS中设置了一个应用程序池,将其设置为非托管代码。 然后我创建了一个虚拟目录并指向该目录,然后将其转换为应用程序并将其分配给我的应用程序池 当我导航到URL“”时,我会得到一个空白页面,这是意料之中的。因此,我随后使用api“”完成url,但仍然得到一个空白页面 所以我尝试了我的其他控制器,它们执行简单的“GET”,但得到的是一个带有“[]”的空白屏幕 我是不是错过了一些台阶 编辑:my appsettings.jsonC# .NET核心Web API IIS部署本地计算机,c#,iis,asp.net-web-api,asp.net-core,C#,Iis,Asp.net Web Api,Asp.net Core,我在新的.NET核心框架中创建了一个Web API,它从我们域上的服务器获取数据(本地机器也位于域上) 使用IIS express部署很好—它可以运行并正常工作 目前,我建立了一个快速的xamarin应用程序,可以与我的web API进行对话,但是当我在手机上进行测试时,我没有办法连接到我的本地IISExpress 因此,我将我的web api发布到本地机器上(右键单击解决方案发布) 我在我的机器上的IIS中设置了一个应用程序池,将其设置为非托管代码。 然后我创建了一个虚拟目录并指向该目录,然后
{
"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"
]
},
你需要更多的信息 在
\logs\stdout
启用并检查应用程序日志
您需要更多信息
在\logs\stdout
启用并检查应用程序日志
验证已发布的appsettings.json中的所有条目,如conn string等。这通常发生在发布版本中此类配置失败并且在您的开发环境中工作正常时。我用appsettings更新了我的问题,我觉得很好,如何验证?您是否尝试过使用REST客户端查看http响应和其他详细信息?另外,您的project.json是否在publishOptions部分包含API所需的所有文件?IIS express工作正常,但IIS不支持发布,我只是在浏览器中检查了一下,我有一个应用程序,也有一个postman安装了nothing works with IIS,但是所有与Expression一起工作您是否安装了.Net Core Windows Server托管捆绑包?请验证已发布的appsettings.json中的所有条目,如conn string等。这通常发生在此类配置在已发布版本中失败并且在您的开发环境中正常工作时。我已使用appsettings更新了我的问题。看起来很好对我来说,如何验证这一点?您是否尝试过使用REST客户端查看http响应和任何其他详细信息?另外,您的project.json是否在publishOptions部分包含API所需的所有文件?IIS express工作正常,但IIS不支持发布,我只是在浏览器中检查了一下,我有一个应用程序,也有一个postman安装了nothing works with IIS,但是所有与Expression一起使用的产品您是否安装了.Net核心Windows服务器托管捆绑包?
<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>