【发布时间】:2022-11-29 15:46:31
【问题描述】:
我刚刚向远程主机发布了一个 ASP.NET Core v3.1 应用程序,但它返回一个空白页面(托管服务器支持 ASP.NET Core 3.1),我该如何纠正?
PS:我没有启用 SSL,尝试在 web.config 中将 hostingmodel 更改为“outprocess”,但没有成功。
我使用默认配置的 Visual Studio 发布工具,
- 部署模式:尝试依赖框架和自包含
- 目标运行时间:都试过了便携的和x86
Startup.cs:
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\app.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
【问题讨论】:
-
您需要启用 Kestrel 日志记录,然后深入研究 Windows 应用程序事件日志和 Kestrel 日志文件。这可以让你开始。
-
这可能与您的配置设置有关。查看您的
appsettings.json文件。检查数据库连接字符串。 -
关于这个问题有任何更新吗?
-
现在已修复,我必须将 View 文件夹单独复制到托管位置
标签: asp.net-core iis