[英]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.