我正试图将.Net Core 2.2 Web应用发布到Linux环境。
我已经使用带有Linux的ServicePlan创建了Web App。我下载了发布配置文件并成功发布。
我通过FTP配置文件发布了它。
问题是,当我访问Web应用程序地址时,它仍然显示Azure空状态Web应用程序:
有什么想法我想念的吗?
答案 0 :(得分:1)
我试图重现您的情况,并且可能会看到相同的行为。
有一种方法可以configure Default documents使用App Services,但这仅对 Windows 上的App Services有效,而对于 Linux 上的无效。
对于Linux应用,该实现将基于所选的运行时堆栈。
特别是对于.Net Core Razor页面,AddPageRoute()
方法可帮助定义路由,如this博客文章中所述:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().AddRazorPagesOptions(options =>
{
//"/Home/welcome" is the page we want to land at
//The empty string signifies the root URL
options.Conventions.AddPageRoute("/Home/welcome", "");
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
也就是说,这仅在本地发布时有效,而在发布到适用于Linux的Azure应用服务时则无效,
我将与我们的内部团队一起检查此问题,并再次与您联系。感谢您引起我们的注意!
更新:
您可以为App Service配置启动命令。对于.Net Core,它看起来像dotnet <myapp>.dll
。这绝对应该工作。请注意,您可能必须在发布之前删除所有现有文件(从“发布配置文件”>“设置”>“文件发布选项”>启用“在发布之前删除所有现有文件”>“保存”)以查看所做的更改。
希望这会有所帮助!