[英]IIS hosting an ASP Core API
得到了下面的问题与Web API我一直在工作,我的问题就在于内我应该如何在Web API与IIS(在Windows Server 2012 R2),考虑到我一直在关注这个文件的事实配置为工作方向我仍然收到“无法显示此页面”浏览器错误:
Windows Server 托管在 Azure 上。
我什至添加了与 IIS 身份验证相关的这部分(认为这可能不会导致我的问题),添加/删除它没有任何影响。
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddOptions();
services.Configure<IISOptions>(options =>
{
options.ForwardWindowsAuthentication = false;
});
}
就像我创建publish
文件夹的方式一样,我进行了如下操作:
dotnet publish
这导致以下文件夹结构
根据目录结构,我确实错过了 wwwroot 和 Views,因为我在project.json
隐式提到了它们,但我不需要它们,因为我有一个 web api 而不是 web 表单应用程序。
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config"
]
}
在 IIS 上配置步骤 在我放置发布结果的主驱动器上创建了一个文件夹。 转到 IIS 管理器并添加一个新网站转到应用程序池并将 .NET CLR 版本设置为“无托管代码”
启动应用程序让我直接进入这个浏览器错误 - 此页面无法显示
从 CMD dotnet mywebapi.dll WORKS 运行...我已经用邮递员测试过它(在 Windows 服务器上有邮递员)。
您需要更多信息。
在.\\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 日志(您可能不必先启用它们)。 事件查看器 > Windows 日志 > 应用程序。 要向下钻取,您可以按事件级别等过滤当前日志...。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.