我一直在使用Web API遇到以下问题,我的问题在于我应该如何配置Web API以使用IIS(Windows Server 2012 R2),考虑到我一直关注的事实这个文档的directions我仍然得到'此页面无法显示'浏览器错误:
Windows Server托管在Azure上。
我甚至添加了与IIS身份验证相关的部分(认为这可能不会导致我的问题),添加/删除它无论如何都没有效果。
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddOptions();
services.Configure<IISOptions>(options =>
{
options.ForwardWindowsAuthentication = false;
});
}
就像我创建publish
文件夹的方式一样,我按照以下步骤进行了操作:
dotnet publish
这导致了以下文件夹结构
根据directory structure我确实错过了wwwroot和Views,因为我在project.json
中隐含地提到了它们,但我不需要它们,因为我有一个web api而不是web表单app
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config"
]
}
在IIS上配置步骤 在主驱动器上创建了一个文件夹,我放置了发布的结果。 去了IIS管理器并添加了一个新网站 转到应用程序池并将.NET CLR版本设置为“No Managed Code”
启动应用程序会引发我对此浏览器错误 - 此页面无法显示
从CMD dotnet运行mywebapi.dll WORKS ...我已经用Postman测试了它(在Windows Server上有邮差)。
答案 0 :(得分:1)
您需要更多信息。
在.\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;应用。要向下钻取,您可以按事件级别等过滤当前日志...