我已经使用Visual Studio for Mac created在.net核心中创建了连接到Azure SQL服务器的Web API。然后,我用azure创建了一个Web应用程序,然后通过项目直接在Visual Studio中将其发布以供Mac使用azure。
发布后,我尝试使用邮递员和Chrome(URL / api / menu)访问api,但出现500个服务器错误,这是通用错误,什么也没告诉我。
在Mac的Visual Studio中,我得到了它所说的绿灯,并直接将我带到新的URL。
所以,你们到底是怎么回事。
这是我第一次使用azure,因此我没有更改任何设置或任何内容
答案 0 :(得分:0)
由于许多不同的问题都可能导致此错误页面,因此,我强烈建议以下内容,以便快速,轻松地确定根本原因,而无需为使用Azure(或与此有关的任何服务器/平台)而费劲。
通过在UseSetting("detailedErrors", "true")
文件中设置。.CaptureStartupErrors(true)
和Program.cs
操作,可以在启动时启用非常有用的错误消息。
对于ASP.NET CORE 2.1
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.CaptureStartupErrors(true)
.UseSetting("detailedErrors", "true")
.UseStartup<Startup>()
.Build();
}
在您的startup.cs类中添加以下命令:
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
app.UseBrowserLink();
还启用stdout登录到您的web.config文件中
stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout"
Web api中的错误代码500通常表示Startup.cs中的配置存在问题-最常见的问题包括DB本身问题,迁移问题(如果使用Code First方法),appsettings问题.js。
请参考。\ logs \ stdout中的日志文件。
希望有帮助。