Web API在本地运行,但在Azure上不运行 [英] Web API works locally but doesn’t work on azure
本文介绍了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屋!
查看全文