According to this topic我試圖發佈和託管我的.NET核心應用程序。當我嘗試從我的API(example.com/pets/users
)使用GET請求檢索數據時,我收到500內部服務器錯誤。 example.com/pets
是我的API發佈的URL。ASP.NET核心RESTfull API託管 - 500內部服務器錯誤
我的webconfig看起來是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Pets.Api.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
我相信這是非常好的。
標準輸出日誌中這樣說:
警告: Microsoft.Extensions.DependencyInjection.DataProtectionServices [59]
無論用戶個人資料,也可HKLM註冊表。使用臨時密鑰庫。當 應用程序退出時,受保護的數據將不可用。
警告: Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository [50]
使用一個內存庫。密鑰不會被持久存儲。
託管環境:生產
內容根路徑:d:\ HostingSpaces \ xardaslord \ example.com \ wwwroot的\寵物
應用開始。按下Ctrl + C關閉。
究竟是什麼錯誤?我檢查了我的遠程數據庫連接,它是正確的。
我真的很感激,如果有人可以幫助我在這裏。
沒有很多在這裏繼續下去。根據我的經驗,當您從本地運行到開發模式以託管於生產模式時,可能會出現配置項丟失的問題。你在本地使用用戶機密嗎?如果你這樣做,你將不會有他們在生產。這只是一個例子... – GlennSills
我改變了應用程序池,以無託管代碼,現在當我嘗試做GET請求'example.com /寵物/ users'我得到403 - 禁止訪問:訪問被拒絕。 – XardasLord
與應用程序池關聯的應用程序標識是什麼?它是否具有讀取部署文件夾的權限? – GlennSills