Web API在本地运行,但在Azure上不运行 [英] Web API works locally but doesn’t work on azure

查看:7
本文介绍了Web API在本地运行,但在Azure上不运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在.Net core中使用VISUAL STUDIO for Mac💻创建了一个连接到azure SQL服务器的Web API。然后,我在Azure中创建了一个Web应用程序,然后通过项目直接在适用于Mac的Visual Studio中发布到Azure。

发布后,我尝试使用邮递员和Chrome(URL/API/Menu)访问API,但收到500服务器错误,这是通用的,没有任何信息。

在Mac版的Visual Studio中,我得到了发布的绿灯,并直接将我带到了新的URL。

那么,你们认为问题出在哪里。

这是我第一次使用Azure,所以我没有更改任何设置或任何内容

推荐答案

由于许多不同的问题可能导致此错误页面,我可以强烈推荐以下方法,以便快速轻松地确定根本原因,而无需费力使用Azure(或任何服务器/平台)获取日志。

通过设置Program.cs文件中的.UseSetting("detailedErrors", "true").CaptureStartupErrors(true)操作,可以在启动时启用非常有用的错误消息。

适用于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();

还要在您的web.config文件中启用stdoutLog

stdoutLogEnabled="true" stdoutLogFile=".logsstdout"

Web API中的错误代码500通常表示Startup.cs中的配置有问题-最常见的问题包括数据库本身的问题、迁移的问题(如果您使用的是代码优先方法)、appsettings.js的问题。

请参考.logsstdout中的日志文件。

希望它能有所帮助。

这篇关于Web API在本地运行,但在Azure上不运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆